在Java中,我有一堆字段和關聯的getter/setter方法。你更喜歡先把它們分成每個領域或領域,然後是吸氣/定型者?我應該將我的getter/setter與他們的變量分組嗎?
風格1:
int A
int getA()
int B
int getB()
款式二:
int A
int B
int getA()
int getB()
在Java中,我有一堆字段和關聯的getter/setter方法。你更喜歡先把它們分成每個領域或領域,然後是吸氣/定型者?我應該將我的getter/setter與他們的變量分組嗎?
風格1:
int A
int getA()
int B
int getB()
款式二:
int A
int B
int getA()
int getB()
這可能不會真的回答你的問題,因爲我不會談論風格,但對於微不足道的getter和setter我不再寫任何代碼。在Projekt Lombok一看,都是你必須寫爲:
@Getter @Setter int a;
@Getter @Setter int b;
如果這仍然看起來像太多的代碼,註釋也可以在一流水平。
Personnally,風格2.主要取決於你的團隊的編碼標準。
我更喜歡把所有的成員變量放在頂部,從公開到私人。然後再次按可見性排序所有方法。
風格2是我通常看到的。但我猜想沒有硬性規定。
我寧願先將它們的字段按照方法分組,但它確實沒有關係。重要的是,您選擇的任何約定在整個項目中都是統一的。
我認爲你最好在分離的方法部分中聲明變量和Get/Set方法,特別是一些程序設計語言不允許你聲明變量之間的過程,所以如果你移動到其中的一個程序中將不必習慣它。除了從變量中分離函數之外,還可以在需要時更輕鬆地搜索函數。
樣式3)
int a
int b
int getA()
int getB()
也許你應該看看上Java Code Conventions:只在代碼塊的開始
認沽聲明。 (一個區塊是由大括號「{」和 「}」包圍的任何代碼 。)不要等到申明變量 直到第一次使用;它可以混淆 不小心的程序員,並妨礙代碼 範圍內的可移植性。
這適用於方法的if/else塊,循環,當然,類。
因此,該公約鼓勵第二種方法。
不適用於此,反正有問題。 – 2011-03-14 17:16:43
@Andy Thomas-Cramer:如果我能問,爲什麼? – 2011-03-14 17:29:29
誤用 - 這些聲明完全不在塊中。可疑的方法 - 這是Java的祖先之一曾經需要的一種不合時代的錯誤,並且老程序員習以爲常,但現在是不必要的錯誤來源和重構的障礙。Sutter和Alexandrescu在「C++編碼標準」第18項中提供了關於同一問題的更多細節:「儘可能在本地聲明變量」。大多數相同的論點適用。 – 2011-03-15 15:32:02
我正在使用Style2 ... – Adnan 2011-03-11 09:23:23
我不認爲這只是獲取者和制定者的問題。這個問題對其他類方法是否有效? – starcorn 2011-03-11 09:50:09