我意识到这条规则可能因公司的编码标准而异,但总的来说,这是首选的?
在行评论后有一个空格:
int foo = Bar(quux + 1); // compensate for quux being off by 1 foo = Bar(quux + 1) # compensate for quux being off by 1
在评论后没有空格:
int foo = Bar(quux + 1); //compensate for quux being off by 1 foo = Bar(quux + 1) #compensate for quux being off by 1
关于编码风格的这个方面,我无法在网上找到任何东西.我的猜测是,包括空格是所有语言的首选风格,但我想要一些"确凿的证据"来证实或否认这一点.
在大大小小的项目中,我用多种语言开发了大约10年的软件.我还没有看到有人故意不使用空间.在事物的方案中它并不重要(毕竟,我们都知道那些是注释并且可以阅读它们),但我认为无空间版本看起来类似于注释掉的代码并且需要额外的毫秒脑力确认这是一个评论:-)
Python的官方风格指南PEP 8非常清楚这个问题:
块注释的每一行都以#和单个空格开头(除非它是注释中的缩进文本).
和:
内联注释应与语句中至少两个空格分隔.它们应该以#和单个空格开头.
这证实了每个人的轶事证据,但我认为这是第一个引用"一些官方或其他公布的编码标准"的答案;-).
在过去的24年中,我专门开发和维护了C,C++,Pascal,BASIC,Java,Perl,Objective C,Bourne shell,bash,csh,tcsh以及68K,PowerPC和x86的汇编代码.在这段时间里,我注意到了一些事情......
带有前导空格的注释比没有空格的注释多出1000倍.由于匆忙打字,评论中缺少前导空格通常是拼写错误.
我不记得在没有空间的情况下,在专业书籍或手册中看到示例代码中的注释.
我认识的唯一专业开发人员经常使用非西方的表意文字书写系统,而不是使用空格.
我从来没有见过一个正式的公司编码风格,告诉人们在评论中省略领先的空间.
总而言之,我要说的是压倒性的证据是在评论之后的空格是首选.
我刚刚遇到了StyleCop的SA1005规则,其中规定:
如果单行注释不是以单个空格开头,则会违反此规则.例如:
private void Method1() { //A single-line comment. // A single-line comment. }注释应以前导斜杠后的单个空格开头:
private void Method1() { // A single-line comment. // A single-line comment. }
由于StyleCop在某种程度上是微软的产品,我认为这有资格作为关于行注释空格的官方编码标准.