2011-04-12 65 views
11

对于大量使用Java注释的项目,有没有关于注释顺序的建议?以便统一团队中的代码风格。建议的Java注释顺序?

+1

按字母顺序排列,或者以十六进制顺序=) – somid3 2011-04-12 16:53:09

回答

6

我想说没有。我可以证明这是错误的。

我的理由是,有上百个项目有注释,除了烤成Java中的人,和那些烤到我们的IDE(Eclipse的特别,但我相信其他人他们。)

因此,所有这些图书馆都可能竞争“谁在上面”,我怀疑他们会对标准达成一致。

我会鼓励你的团队坐下来,为你们做出最好的决定。

的因素,我会考虑:

  1. 哪些annotatiosn是最重要的?他们应该靠近顶部。
  2. 哪些注释最有可能是潜在错误的指示?他们应该靠近顶部。
  3. 该类中的每种方法可能有哪些注释?他们应该靠近底部。
+1

很好的建议。我已经隐含遵循这3条规则了。 – 2011-04-12 16:17:02

+0

我个人会添加'0。注释限定符在合格注释之前首先出现。 '所以@Lazy会在@Service之前。你同意吗? – 2011-04-12 16:25:10

+4

我不喜欢在限定注释之前加上限定词。当读“懒”这是一个懒惰的是什么?服务告诉我,我正在使用服务,而懒惰则使服务更加具体。是的,英语在名词前使用形容词,但面向对象编程(Java)在方法和字段之前放置对象。注释(注释的限定符)之下的某些内容可能被视为注释之下的元素,而不是注释之前的元素。就像我在回答中所说的那样,得到团队协议。 – 2011-04-12 16:32:53

3

如果您必须强加一个命令,按字母顺序?

没有关于您正在使用的注释的某种知识,很难建议合理的排序。也许更好的排序会更适合你和你的团队;如果是这样,如果你记录了什么是约定的订单,剩下的唯一事情就是在团队同意订购之后验证它。

在与整个团队交谈之后,你可能会发现你不需要订购它们。

1

好问题。这不是一门精确的科学,但我个人试图将注释从顶部的“宽范围”排列到底部的“窄范围”。这里有一个例子:

@RadioDomain 
@Entity 
@Table(name = "receiver") 
@ReceiverConstraintCheck 
@SuppressWarnings("PMD.ShortVariable") 
public class Receiver { 
    // ... 
}