2011-03-11 42 views
0

在Java中,我有一堆字段和關聯的getter/setter方法。你更喜歡先把它們分成每個領域或領域,然後是吸氣/定型者?我應該將我的getter/setter與他們的變量分組嗎?

風格1:

int A 
int getA() 

int B 
int getB() 

款式二:

int A 
int B 

int getA() 
int getB() 
+1

我正在使用Style2 ... – Adnan 2011-03-11 09:23:23

+0

我不認爲這只是獲取者和制定者的問題。這個問題對其他類方法是否有效? – starcorn 2011-03-11 09:50:09

回答

5

這可能不會真的回答你的問題,因爲我不會談論風格,但對於微不足道的getter和setter我不再寫任何代碼。在Projekt Lombok一看,都是你必須寫爲:

@Getter @Setter int a; 
@Getter @Setter int b; 

如果這仍然看起來像太多的代碼,註釋也可以在一流水平。

0

Personnally,風格2.主要取決於你的團隊的編碼標準。

我更喜歡把所有的成員變量放在頂部,從公開到私人。然後再次按可見性排序所有方法。

0

風格2是我通常看到的。但我猜想沒有硬性規定。

0

我寧願先將它們的字段按照方法分組,但它確實沒有關係。重要的是,您選擇的任何約定在整個項目中都是統一的。

0

我認爲你最好在分離的方法部分中聲明變量和Get/Set方法,特別是一些程序設計語言不允許你聲明變量之間的過程,所以如果你移動到其中的一個程序中將不必習慣它。除了從變量中分離函數之外,還可以在需要時更輕鬆地搜索函數。

2

樣式3)

int a 
int b 

int getA() 
int getB() 
4

也許你應該看看上Java Code Conventions:只在代碼塊的開始

認沽聲明。 (一個區塊是由大括號「{」和 「}」包圍的任何代碼 。)不要等到申明變量 直到第一次使用;它可以混淆 不小心的程序員,並妨礙代碼 範圍內的可移植性。

這適用於方法的if/else塊,循環,當然,類。

因此,該公約鼓勵第二種方法。

+0

不適用於此,反正有問題。 – 2011-03-14 17:16:43

+0

@Andy Thomas-Cramer:如果我能問,爲什麼? – 2011-03-14 17:29:29

+0

誤用 - 這些聲明完全不在塊中。可疑的方法 - 這是Java的祖先之一曾經需要的一種不合時代的錯誤,並且老程序員習以爲常,但現在是不必要的錯誤來源和重構的障礙。Sutter和Alexandrescu在「C++編碼標準」第18項中提供了關於同一問題的更多細節:「儘可能在本地聲明變量」。大多數相同的論點適用。 – 2011-03-15 15:32:02

相關問題