我认为大多数人都认为尾随空白不是好习惯。许多编辑会为您显示或自动删除它。
将此Python函数视为一个简单示例:
第11行和第13行的额外空格是错误的。我想知道的是第10行。如果控制块内部没有改变缩进的空行是否有前导空格?
我使用的大多数编辑器都会将光标保持在前一行的缩进级别,因此在没有前导空格的情况下创建一个空白行需要一些额外的格式。什么是最佳做法?第10行是否应该有前导空格?
答案 0 :(得分:5)
在代码执行方面,它完全没有区别;我在python中看到的最常见的练习就是带有空格的练习,但我认为没有人能够合理地说一个人客观上比另一个更好。
答案 1 :(得分:3)
我会尝试回答你的问题,坚持你的Python示例,引用他们的风格指南。
来自PEP-8:
类中的方法定义由一个空行分隔。
空白行通常是指包含零个字符的行(不包括任何行尾字符);虽然它也可以引用任何不包含任何可见字符的行(仅由空格组成)。
如果你相信维基百科的定义,你可能会问为什么零字符是首选。
对于一个更简单的方法,即使在编辑器中打开了autoindent,你也只是在没有充分理由的情况下用额外的字节填充你的文件。
其次,零字符空行的正则表达式也更简单,'^ $'通常与'^ \ s * $'之类的东西相比。
正如其他答案所指出的那样,放入空格并没有区别。没有充分理由这样做,我会说最好的做法就是把它留下来并保持简单。你能想象一个零字符行被处理的方式与具有一些空格的行不同吗?我不想用那种语言编程。放入空白对我来说似乎是巴洛克式的。
答案 2 :(得分:2)
正如@PinkElephantsOnParade所写,它对执行没有任何影响。因此,这完全取决于个人的审美偏好。
我自己设置我的编辑器显示尾随空格,因为我认为尾随空格是一个坏主意。因此,你的第10行会突出显示,并一直盯着我。 没有人想要那个,所以我认为第10行不应该包含空格。 (巧合的是,我的编辑器emacs会自动处理这个问题。)
答案 3 :(得分:1)
对于他自己,但有一种方式来看待它:代码风格是关于人类的可读性。因此,如果将行的长度延伸超过某个预先存在的(自我强加的)限制(例如,80个字符限制),则尾随空格只是一个问题。
另一方面,如果你一直在你的编辑器中显示空白区域,这对你来说很重要,我个人会把它保留在那里,因为(对某些人来说,至少)更有效率的白色 - 空间存在;如果您决定在某一点在该行添加代码,则不必添加额外的空格。