2010-07-20 32 views
3

當然,在.java或.cs文件的頂部是package/namespace聲明,後跟import/using語句。程序代碼體內元素的首選順序是什麼?爲什麼?

但是讓我感到震驚的是我應該在哪裏放置變量聲明?在頂部還是在底部?

這是我更喜歡的;

package/namespace declaration 
import/using declaration of microsoft's/java namespaces 
import/using declaration of standard 3rd party namespaces 
import/using declaration of my personal namespaces 

constructors 
private methods, each preceded by any private variable that was first used. 
protected methods, each preceded by any private variable that was first used. 
public methods, each preceded by any private variable that was first used. 

inner/nested classes and enums 

private anon classes assignment 
protected variables/anon classes assignment 
public variables/assigned anon classes assignment 

但是我意識到很多人喜歡把package/namespace和import/using聲明之後的所有變量放在最上面。這很麻煩,因爲有時變量的數量和分配的anon分類會變得太多,並且會掩蓋構造函數的可見性 - 我需要看到的第一行是構造函數,因爲它們告訴我實例化的簽名。

然後,對於立即分配給變量的匿名類 - 我認爲它們是「變量結構」的一部分,所以我將它們分組爲變量。

我係統化了我的代碼元素的位置,使我能夠輕鬆找到它們。

+0

對不起,請重新閱讀此問題。我的Chrome瀏覽器出現問題,導致我的問題減半。 – 2010-07-20 19:21:35

+2

這是一個有趣的想法。由於一個類的屬性和私有成員通常是這個類中最不感興趣的部分,我通常會跳過它們來找到需要修復或擴展的方法中的問題。把它們推到最底部是有道理的。我可能需要試一試,看看我是否喜歡它。 – 2010-07-20 19:24:34

回答

1

Java標準規定您的聲明從私人到公共。我發現這對我非常有幫助。我不知道爲什麼,但是自下而上讀取代碼對我來說真的很好。所以,我已經通過了到C#(我的主要語言),我訂購一類作爲

using statements 
namespace 
private static fields 
private static methods/properties 
public static methods/properties 
private fields 
private methods/properties 
protected methods/properties 
public methods/properties 

我不給構造自己的部分像大多數人一樣,不同之處在於他們是第一個進入他們的類別(例如,公共構造函數就在受保護的方法之後)。我幾乎從不使用內部範圍的東西,除了整個類。

我從來沒有使用的區域,我從來沒有使用公共領域(總是屬性)

+0

我喜歡使用地區。 – 2010-07-20 19:57:16

1

我傾向於以同樣的順序,我會用他們的東西。命名空間,然後是using聲明,然後是構造函數,然後是嵌套類,然後是參數,公共方法,最後是私有方法。基本上,它是按照我的代碼的新人應該閱讀的順序讀取的,以獲得關於該類的廣度優先的概念。這也是爲了如何使用它們。首先你需要知道命名空間,然後如何構建,然後如何配置,然後如何使用。

除此之外,私有成員變量總是在使用它們的地方。如果我有一個私人幫手方法,我嘗試將它放在相應的公共方法旁邊,並將它們聚集在一個#region中。但通常任何私人成員都會接近底部,因爲我覺得使用這個班的人需要比公開成員更少地閱讀他們。

我認爲這也取決於您是否正在編寫其他人將閱讀的代碼與編寫只有您正在維護的代碼。當它是後者時,我傾向於將更「困難」的東西靠近頂部,因爲我知道這些東西我可能會修復錯誤。