代码之间为什么要加空格?

简介: 代码之间为什么要加空格?

据我观察,大多数人写代码喜欢在符号两侧加空格,而且还会嘲讽不加空格的人。这些支持者认为,加空格可以让代码美观,增强代码的可读性。但是我不喜欢加空格,因为这么写对代码含义没有影响,浪费空间还很麻烦。我不认为多几个空格就能让原本凌乱的代码清晰起来,反而会让代码看起来很松散,影响阅读。

以上,是我在知乎上看到的一个题目,感觉蛮清新的,说得似乎有理有据。就好像在说,据我观察,大多数人喜欢早晚刷牙,而且还会嘲笑不刷牙的人。这些支持者认为,刷牙有益于牙齿健康,空腔清新。但我不喜欢刷牙,因为我牙齿没坏,吃嘛嘛香。我不认为刷牙能保护牙齿健康,反而很浪费时间。


对吧?我敢保证,这世界上有不少人不刷牙。说出来不怕大家笑话,我上初中之前真没刷过牙,就算是到现在,很多农村的孩子仍然没有刷牙的习惯。


在我写代码的前一两年里,写代码也不习惯加空格,觉得很麻烦,并且加不加空格,真的不影响代码的运行效果。


// 加空格的写法
int a = 5;
int b = 3;
a = a + b;
// 不加空格的写法
int a=5;
int b=3;
a=a+b;

想知道为什么后来我开始刷牙了呢?


记得小学五年级的时候,牙齿疼过一次,真的是丧心病狂地疼,什么东西也吃不了。那时候,哪有看牙科的,完全没有,至少在我那时候的成长环境下。


没办法,疼了大概有一周的时间,终于打听到邻村有一个老先生,他那有秘方,父母就带我去了。还真的见效,某一种秘制的液体滴在牙齿上,超级冰凉的那种,感觉整个牙齿完全失去了知觉。


有了这段痛苦的记忆,上初中后,看到很多同学都刷牙,于是我也就买了牙刷。初中的条件还是很差劲的,冬天,没有热水,洗脸的水和刷牙的水,都是前一天下午饭缸里接的水,放在课桌里。第二天早上到了教室,同学们就互帮互助,端着对方的饭缸倒水洗脸,脸没冻坏,牙没冻坏就是万幸啊。


我在代码里加空格,和开始刷牙有相似的经历。


Thisisavarofthings=yourfuckingtype+otherdamnedresult*me;

oh=mygodblessedsweetheart-thesaintangel/cursedcorpsehere;


哦,老天,上面这段代码里就完全没有空格,看起来密密麻麻,可读性差到你感觉自己的双眼受到了侮辱。


当符号两侧的单词很简单的时候,简单到只有 a 和 b 的时候,的确,不加空格好像看起来更紧凑一些。但考虑到实际的编码中,命名要有意义,长度都不会太短,这时候,如果没有空格的辅助,代码就真的不堪入目了。


Thisisavarofthings = yourfuckingtype + otherdamnedresult * me;

oh = mygodblessedsweetheart - thesaintangel / cursedcorpsehere;


OK,现在加了空格,是不是观感上就完全不一样了。单词与单词之间,很清楚,很协调,不拖泥带水。


一般的 IDE 都有自动格式化代码的快捷键,写完代码来那么一下,立马就会把该有的空格给加上。我现在已经完全习惯手敲空格了,感觉自己很优雅,甚至有点大师范的感觉,毕竟程序员还是要有点追求的,对吧?


说到这,不得不替古人感慨一下,由于纸张稀缺,所以大师们写出来的文章都是没有标点符号的,要是没点文化水平,密密麻麻一团的字挤在一起,真不一定能读的懂,况且汉语是这么博大精深。


我们算是幸运的,读到的文言文都经过了加工,编辑们帮我们加了标点符号,所以看起来不至于那么吃力。但我就特别讨厌一些题目,让加标点符号断句的那些,很无聊。


所以,别任性,该加空格就加空格,你写的代码可不只是给你一个人看的,负责任点。


换句话说,我也可以写文章不换行,对吧?写一行两行文字真没必要换行。但段落多了,还不换行,我保证你看不下去。


不过,需要注意一点的是,我看有些视频课里,有些讲课人习惯什么地方都加空格,我也是有点受不了的,比如说方法名和小括号之间——public void print (),这就有点不合时宜了。


按照规约来说,方法名和小括号之间是不需要空格的,因为没有空格看起来更自然,更像一个方法,而不是割裂的关键字和小括号。


写代码不是钻牛角尖,就像有些人喜欢在 if 语句里使用 == false 一样——if (isFlase == false) {},他觉得这样的代码更具有可读性,这不是出来搞笑的吗?


最次,你应该写成下面这样子:


if (isTrue) {


} else {


}


这都比在 if 条件中使用 == false 来得让人舒服。


做程序员嘛,总得有个程序员的样子,想优雅点的话,把非“!”用上——if (!isFlase),搞那些无病呻吟的代码,真的很掉档次。


无规矩不成方圆,你如果不想遵守代码规约的话,不想团队协作的话,请随意处置你的代码,谁也拿你没办法。逃逃逃)


如果觉得文章对你有点帮助,请微信搜索「 沉默王二 」第一时间阅读。


相关文章
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
56 0
|
4月前
|
JavaScript 前端开发
在一般编写代码时可以不写分号 ; 但是遇到中括号 小括号 模板字符串的时候必须在前面加一个分号,否则会报错
JavaScript中通常可以省略分号,但在某些语法结构前必须加分号,如中括号、小括号或模板字符串前,以避免语法错误。
41 1
|
8月前
for循环去掉最后一个逗号(三种方法)
for循环去掉最后一个逗号(三种方法)
101 1
for循环去掉最后一个逗号(三种方法)
|
8月前
如何去掉字符串中文括号及其内部的内容三种方式
如何去掉字符串中文括号及其内部的内容三种方式
283 0
|
8月前
|
C语言 C++
每天一道C语言编程:(去掉:双斜杠注释,去掉空格)
每天一道C语言编程:(去掉:双斜杠注释,去掉空格)
53 0
Java字符串去掉空格的几种方法
Java字符串去掉空格的几种方法
|
算法 安全
每日算法刷题Day7-比较字符串大小,去掉多余的空格,单词替换
⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。
318 0
每日算法刷题Day7-比较字符串大小,去掉多余的空格,单词替换
AcWing 766. 去掉多余的空格
AcWing 766. 去掉多余的空格
72 0
AcWing 766. 去掉多余的空格
|
数据安全/隐私保护 Python
一日一技:正则表达式同一个小括号两种意思
一日一技:正则表达式同一个小括号两种意思
186 0
一日一技:正则表达式同一个小括号两种意思
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。 输入格式 共一行,包含一个字符串。 输出格式 输出去掉多余空格后的字符串,占一行。 数据范围 输入字符串的长度不超过 200200。 保证输入字符串的开头和结尾没有空格。
331 0