每行80个字符的“规则”已经过时。
http://richarddingwall.name/2008/05/31/is-the-80-character-line-limit-still-relevant/
http://en.wikipedia.org/wiki/Characters_per_line
http://news.ycombinator.com/item?id=180949
我们不再经常使用穿孔卡片。我们有巨大的显示屏,分辨率很高,随着时间的推移只会变得更大(显然,手持设备、平板电脑和网络本是现代计算的重要组成部分,但我认为我们大多数人都在桌面电脑和笔记本电脑上编程,即使是笔记本电脑这些天也有大屏幕)。
以下是我认为我们应该考虑的规则:
一行代码只做一件事情。
一行代码写成一行代码。
换句话说,尽可能让每一行代码都尽可能简单,并且不要将一个逻辑行拆分成几个物理行。规则的第一部分有助于确保合理的简洁性,以便遵守第二部分不会造成负担。
有些人认为某些编程语言鼓励复杂的“一行代码”。Perl就是一个例子,被一些人认为是一种“写一次,永不读取”的语言,但你知道吗?如果你不写混淆的Perl代码,相反,每行只做一件事情,那么Perl代码可以像其他任何语言一样易于管理...好吧,也许除了APL ;)
除了复杂的一行代码之外,我看到遵循某些人工字符限制的另一个缺点是缩短标识符以符合规则。描述性标识符通常比缩写和首字母缩略词更清晰。清晰的标识符使我们更接近文学编程。
或许我听过的最好的保持80个字符限制或其他值的“现代”论点是“并排比较”代码。并排比较对于比较同一源文件的不同版本非常有用,例如源代码版本控制系统合并操作。就我个人而言,我注意到如果我遵守我建议的规则,我的大部分代码行都足够短,以至于在现代显示器上并排查看两个源文件(甚至三个源文件进行三向合并)时可以完整地查看它们。当然,其中一些会超出视口。在这种情况下,如果需要查看更多内容,我只需滚动一点即可。此外,现代比较工具可以轻松告诉您哪些行不同,因此您知道应该查看哪些行。如果您的工具告诉您没有滚动的理由,那么就没有滚动的理由。
我认为每行80个字符的旧建议来自于显示器为80x25的时代,现在128或更多应该没问题。