2010-08-16 63 views
7

我养成了从源文件中删除尾随空白的习惯。事实上,我有我的编辑自动执行此操作。我通过使用git获得了这种习惯;它创造了我坚持的习惯。剥离尾随空白处的好处?

我的问题涉及到我无法为此行为辩护的事实。我可以理解,在一些领域,比如网页设计师,可能会影响他们的最终结果。对于程序员来说,我们从中获得了什么?我们不能把它放进去吗?

回答

8

我也喜欢修剪空白。没有技术要求这样做,但它具有一定的优势:

  • 尾随空格在许多编辑刺激性,当光标变成线条,您可以在此行时的“尾随空白区”结束了您需要从更长的行更短的行,需要额外的按键才能到达要编辑的部分
  • 它可能会导致您的编辑器显示一个否则不需要的水平滚动条,这又会迫使您滚动到确保你没有遗漏文字的权利

然而,最重要的是,它有一个巨大的好处(IM HO)在整个源代码中使用一致的格式(间距,缩进,大括号...)。这使得代码更易于阅读,避免了重新格式化的巨大差异(如果它始终格式正确,无需重新格式化)。

因此,我建议让格式化程序自动运行,无论何时保存(或至少对于每个提交)。这样,尾随空白可以消除作为副作用:-)。

+0

当中所提到的原因,我想你就做,以减少大的diff一致性好点。 – Pran 2010-08-16 11:21:02

3

你不会说你正在使用什么语言,但是在C语言中,尾随空格会影响宏。

考虑:

#define FNORD() \ 
    something complicated here 

的\只有当它的上线的最后一个字符---这样的空白后,将导致其破裂的作品。

+0

+1优点和相同的概念可以应用于其他情况。例如,在ruby中,你可以使用\在多行上有一个字符串。 – Pran 2010-08-16 12:22:26

+0

Perl和sh/bash也使用反斜杠来继续一行,并且会遭受同样的问题。 Perl和sh/bash中的“here文档”也是如此。 – sleske 2010-08-16 16:02:02

+0

当然,如果你真的*想*在这里的文件尾部的空白,你不想剥夺它。但幸运的是,我不必在bash中编程... – sleske 2010-08-16 16:03:28