2011-04-12 30 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 { 
    // ... 
}