2012-12-17 57 views
0

在Java代碼約定中,實例變量應放在方法之前還是放在方法之後?我知道,在Oracle或Apache的代碼約定中,他們建議實例變量應該放在方法之前。但是,在Core Java一書中,作者將實例變量放在方法之後。嗯......也許是因爲我的C++背景,在我學習C++期間,我受過教育,公共職能應該放在私人成員之前,因爲人們更關心你的代碼提供的功能。所以,我想知道哪個是首選方式?如果你可以用你的實際項目經驗來解釋你的理由,那就更好了。在Java代碼約定中,實例變量應放置在方法之前還是放在方法之後?

+1

「想要」,而不是「想要」 –

+0

非常感謝。 :-) – BlueRomantic

回答

6

正常的Java約定是先放置靜態變量,然後是實例變量,後面是構造函數,然後是方法最後。

但是,在Core Java一書中,作者將實例變量放在方法之後。

你總是可以找到不符合常規約定的人/書。

因此,我想知道哪個是首選方式?

參見上文。

如果您可以使用您的實際項目經驗來解釋您的理由,那會更好。

沒有理由,除了因爲這是接受這樣做,寫代碼,違背了正常的慣例趨於正常方式使其不太可讀......對於誰遵循人正常的約定。

有人可能會對代碼可讀性進行一些經驗性研究,在這些研究中他們測量了相對可讀性。但我從來沒有打擾過把它們搜出來。

+0

+1即使我沒有遵循約定,我在使用它之前總是使用字段。 (換句話說,我錯過了方法本地字段;) –

+0

我強烈懷疑任何有關代碼可讀性的研究存在 - 因爲後來的代碼是由一個IDE分解爲您介紹的。 – tucuxi

+0

我認爲'除了這是接受的常規方式之外,編寫違反正常慣例的代碼往往會降低可讀性......'是關鍵之處。 – BlueRomantic

1

使用您正在處理的項目的樣式。大多數編碼慣例都存在,所以人們可以不斷思考小代碼格式問題(並且源代碼控制以非建設性的方式跨越其他人的源代碼)。所以如果你在一個項目中工作,並且項目已經使用了一個約定,那就堅持下去。

Oracle/Sun使用「屬性優先」。 Android guidelines建議在開始時或在使用它們的方法之前。我傾向於將Oracle/Sun指南用於我自己的項目,因爲JDK源始終只需單擊一下即可。

+0

我想我會同意你的第一個聲明。此外,感謝您的鏈接。 – BlueRomantic

相關問題