问题描述
我试图找出之前是否有人问过这个问题,他们可能已经问过,但由于涉及“分隔”和“空格”这两个词,我只能找到有关如何用空格字符分隔字符串的问题。
>我想我的意思是,在阅读其他人的代码时,我看到很多时候有些人倾向于在
a=1+(3-sqr(1/567));
或
for(int i=0;i<=limit;++i){}
或
if(val1>=val2&&val1<=val3) {
doSomething(arg1,arg2,arg3);
}
我想你明白了。
问题是,我个人觉得这种风格更难阅读。我什至发现自己复制了我试图读取和写入空格的代码,这样我就可以更轻松地阅读它。例如,我会从
a=1+(3-sqr(1/567));
到
a = 1 + (3 - sqr(1 / 567));
我几乎可以肯定,客观上更容易阅读,至少对我来说更容易。可以说,我倾向于以这种“更易于阅读”的风格编写自己的代码。
那么,我这样做有错吗?仅仅是风格问题吗?或者是否有更大的原因?它是编译器还是解释器相关的?我确信在用 c 或类似语言编写时分开编写不会影响性能,因为源代码无论如何都会被编译成机器代码。但是,如果我在用 Javascript 或 Python 编写时这样做会影响性能,因为它们是动态解释的吗?我见过一些开发人员编写了一个带有单个字符变量名且几乎没有分隔的脚本的缩小版本,这无疑更难阅读。这会提高性能吗?而且,即使这样做了,写得更清楚是不是值得,因为虽然它会降低性能,但它会增加可读性,从而加快开发 ?
感谢您的回答。
解决方法
对于大多数语言来说,这两种方式都无关紧要。这是一种风格偏好。如果您不缩小代码,则可能需要一些额外的字节来放置空格。