在您的代码中放置评论的最佳方式是什么?我看到至少有三种不同的方式:评论相对于代码的位置
1:
int i = 10; //Set i to 10
2:
//Set i to 10
int i = 10;
3:
int i = 10;
//Set i to 10
使用第一种方法的缺点是,许多人使用的标签,而不是空格,这样做将导致评论成为选项卡大小变化时严重错位。
第二个和第三个代码片段可以避免这个问题,但是当有很多代码时,它有时不清楚评论所指的是哪一行。
在您的代码中放置评论的最佳方式是什么?我看到至少有三种不同的方式:评论相对于代码的位置
1:
int i = 10; //Set i to 10
2:
//Set i to 10
int i = 10;
3:
int i = 10;
//Set i to 10
使用第一种方法的缺点是,许多人使用的标签,而不是空格,这样做将导致评论成为选项卡大小变化时严重错位。
第二个和第三个代码片段可以避免这个问题,但是当有很多代码时,它有时不清楚评论所指的是哪一行。
选项3只是错误的。我所知道的所有工具都希望方法文档在2之前的方法中出现。因此,在方法内部做相反的处理是令人困惑的。
否则,1 & 2都可以,但我只能在短代码行上使用1。一般来说,2将是我的首选选项,因为它不仅符合方法/类的注释约定,您可以在之前的代码中看到注释。
那么,这种形式应该只有很少的评论 - 如果你发现自己评论个别陈述,有些事情是错误的。话虽如此,我没有#1或#2的问题 - 我从未见过#3,也不想。
方法中的注释没有任何问题。如果您正在实施算法,则评论可以描述算法步骤。 – 2010-01-26 00:25:42
这就是你的代码所做的或者应该做的。 – 2010-01-26 00:27:21
代码可以告诉你正在采取的步骤,但它不能告诉你为什么他们被采取。 – danben 2010-01-26 00:32:43
我主要是为了上面的 - 在注释上方有一个空行,所以它明确指代下面的代码而不是别的。
有几次我去找下一个 - 比如记录变量声明等等。
首先尝试编写代码,以便“自行评论”。我的意思是在大多数情况下,如果其他开发人员查看您的代码,并且不明白它是什么,那么95%需要重构。
如果不能,你应该使用选项2号,因为它有助于保持shors行代码编辑器
我要说的是,你应该使用1:
单行注释,即当你想先解释一下在单行上不明显,并且如果行足够短以便评论适合所以行不超过80个字符,那么2:
应该没问题。
使用2:
意见征求更长的块,即试图解释算法或解码等
不要使用3:
可言。
我建议阅读第32章:在Code Complete中自行编写代码。
它有很多关于如何以及在何处发表评论的深思熟虑的建议。
我喜欢下面的表格简称意见
blah; // comment
两个空格前不知何故//目光吸引我。 更长的评论在我看来在块之前。
我个人更喜欢选项。如果评论足够短并提供一些必要的信息,则选项是可以的。
评论应该做的更少,以解释明确情况下的代码是什么,以及更多解释原因。
我使用某种类型的Javadoc(显然):
/**
* This is a Javadoc comment.
*/
和我一起去结合一个衬垫用空格内码:
// This comment refers to
someGroupingOfCode();
thatPerforms(aCertainTask);
whichIsThenFollowedBy(anEmptyLine);
// And possibly another comment
thatGoesWith();
theNextGroupOfTasks();
而对于声明我一般做:
int i; // This stores the value of your eye
File x; // XXX directory location
至于我是否使用最后一个例子中的标签,我甚至不会去那里。现在不想把汽油扔在火上。 :)
火焰战争等待发生。 – danben 2010-01-26 00:21:40
“使用第一种方法的缺点是很多人使用制表符而不是空格”:很好 - 现在我们可以将评论性宗教大战与制表符结合起来v。在一个SO主题中捆绑宗教战争。 – 2010-01-26 00:23:16
使用制表符间隔是错误的。 – cletus 2010-01-26 00:24:52