莱纳斯在开玩笑吗?
文章以俏皮的风格写成,暗示作者熟悉严肃的从业者讨论编码风格的方式:我们都有我们的喜好,我们为之疯狂地捍卫着他们,但舌头至少部分贴在脸颊上。我们非常了解,其中很多只是个人喜好问题。他说了这么多话,"Coding style is very personal, and I won't _force_ my views on anybody"
至少在他个人维护的代码之外。但是给定项目中样式的一致性是一个非常好的主意。我宁愿编写自己不喜欢的样式的代码,也不愿在给定的函数中处理多种样式。
这是一个清晰有趣的示例:
However, there is one special case, namely functions: they have the
opening brace at the beginning of the next line, thus:
int function(int x)
{
body of function
}
Heretic people all over the world have claimed that this inconsistency
is ... well ... inconsistent, but all right-thinking people know that
(a) K&R are _right_ and (b) K&R are right. Besides, functions are
special anyway (you can't nest them in C).
好玩的(1)。
尝试避免缩进以免失控是一个很好的建议,尽管三级最大值可能是双曲线的。我不会grep内核源代码并计算四个制表符的序列,但是我敢打赌,您至少可以找到Torvalds编写的一个。
另一方面,如果某人可以编写Linux内核而不会经常缩进三级,那么三级限制可能是一个值得在您自己的代码中尝试一会儿的练习,只是看看它会花些什么。你知道,这不像是改变性别。这不是一生的承诺。
如果您在Internet上遇到某个认为他比Torvalds(2)更了解编程的人,那么您知道哪种人喜欢在Internet上大声说话。
另一方面,他在八个空格的标签上犯了错误的罪行。那是一个男人的狂欢,他应该保持克制并通过狭槽喂养。四个空格显然是正确的。
(1)但是请注意他是如何错误地在椭圆前面放一个空格,在椭圆后面放两个空格,以及句号之后放两个空格。错,错,错。然后他有胆大妄为要谴责异端。异端是你,托瓦尔兹!是你!
(2)如果您想谈论“ 了解如何设计源代码控制系统 ”,可能会有一些争论的余地。
注意:亲爱的用户,它反复提交了相同的编辑:引用的材料中的格式与作者原本打算的一样。这是因为这是一篇有关定宽文本格式的文章,该文章是由写了定宽文本格式的人给出的,这些人对定宽文本格式的设置有相当多的想法。格式是作者意图的有意识的和有意的部分,与主题有关。
另外,我在自己的文字中提到了这种格式。如果您进行了预格式化,则我的脚注(1)变得乱七八糟。如果取消了预格式化,则我的脚注(1)中的文本也应该这样,指的是句尾句号后的空格对。我可以看到删除该脚注的基本原理,因为它不像我编写时看起来那么有趣。但是在不删除脚注的情况下删除格式无济于事。