2010-01-26 61 views
3

在您的代码中放置评论的最佳方式是什么?我看到至少有三种不同的方式:评论相对于代码的位置

1: 
int i = 10;  //Set i to 10 

2: 
//Set i to 10 
int i = 10; 

3: 
int i = 10; 
//Set i to 10 

使用第一种方法的缺点是,许多人使用的标签,而不是空格,这样做将导致评论成为选项卡大小变化时严重错位。

第二个和第三个代码片段可以避免这个问题,但是当有很多代码时,它有时不清楚评论所指的是哪一行。

+6

火焰战争等待发生。 – danben 2010-01-26 00:21:40

+5

“使用第一种方法的缺点是很多人使用制表符而不是空格”:很好 - 现在我们可以将评论性宗教大战与制表符结合起来v。在一个SO主题中捆绑宗教战争。 – 2010-01-26 00:23:16

+1

使用制表符间隔是错误的。 – cletus 2010-01-26 00:24:52

回答

2

选项3只是错误的。我所知道的所有工具都希望方法文档在2之前的方法中出现。因此,在方法内部做相反的处理是令人困惑的。

否则,1 & 2都可以,但我只能在短代码行上使用1。一般来说,2将是我的首选选项,因为它不仅符合方法/类的注释约定,您可以在之前的代码中看到注释

0

那么,这种形式应该只有很少的评论 - 如果你发现自己评论个别陈述,有些事情是错误的。话虽如此,我没有#1或#2的问题 - 我从未见过#3,也不想。

+0

方法中的注释没有任何问题。如果您正在实施算法,则评论可以描述算法步骤。 – 2010-01-26 00:25:42

+2

这就是你的代码所做的或者应该做的。 – 2010-01-26 00:27:21

+0

代码可以告诉你正在采取的步骤,但它不能告诉你为什么他们被采取。 – danben 2010-01-26 00:32:43

0

我主要是为了上面的 - 在注释上方有一个空行,所以它明确指代下面的代码而不是别的。

有几次我去找下一个 - 比如记录变量声明等等。

0

首先尝试编写代码,以便“自行评论”。我的意思是在大多数情况下,如果其他开发人员查看您的代码,并且不明白它是什么,那么95%需要重构。

如果不能,你应该使用选项2号,因为它有助于保持shors行代码编辑器

0

我要说的是,你应该使用1:单行注释,即当你想先解释一下在单行上不明显,并且如果行足够短以便评论适合所以行不超过80个字符,那么2:应该没问题。

使用2:意见征求更长的块,即试图解释算法或解码等

不要使用3:可言。

2

我建议阅读第32章:在Code Complete中自行编写代码。

它有很多关于如何以及在何处发表评论的深思熟虑的建议。

0

我喜欢下面的表格简称意见

blah; // comment 

两个空格前不知何故//目光吸引我。 更长的评论在我看来在块之前。

0

我个人更喜欢选项。如果评论足够短并提供一些必要的信息,则选项是可以的。

评论应该做的更少,以解释明确情况下的代码是什么,以及更多解释原因。

0

我使用某种类型的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 

至于我是否使用最后一个例子中的标签,我甚至不会去那里。现在不想把汽油扔在火上。 :)