2012-05-30 13 views
1

我想知道:在較短的(但有可能變得更長)程序中主要方法的最佳用途是什麼?適合使用主要方法作爲開球?

以下是我的意思:當我開始一個項目。我通常從MainController開始。我用它來控制我的程序的流程。在過去的(目前)我一直在做這樣的事情:

public class MainController { 

//Note, normally I'll do some singleton patter stuff here, but I believe that's irrelevant to this question 

    public static void main(String[] args) { 
    MainController mc = new MainController(); 
    mc.begin(); 
    } 

    public void begin() { 
    //my code here 
    } 
} 

我想了解意見:是不是更好,只是有你的主代碼在類似下面的代碼主要方法,或做到這一點,因爲我已經做了(像前面的代碼)

public static void main(String[] args) { 
    //my code here 
} 

注:我知道這可能是一個有點意見爲主的答案,但我很好奇,看看那裏的票去。謝謝。

+0

爲什麼寫更多的代碼沒有明確的目的? –

+0

@NikolaKolev,我不確定我明白你的意思。 – kentcdodds

回答

1

這是更好地使用您首先提到的方法,即

public static void main(String[] args) { 
    MainController mc = new MainController(); 
    mc.begin(); 
    } 

    public void begin() { 
    //my code here 
    } 

原因是,該begin()方法應該做的東西,begin()應該做的。而我們的目標是high cohesion,這應該是方法。每種方法都在做它應該做的事情。 main()只是開始你的程序的一個點,這並不意味着它應該做所有你能想到的特定類的東西。

+0

+1以供參考凝聚力 – kentcdodds

1

至少爲了可讀性,我總是從第一種方法開始。從某種意義上說,我可以選擇爲我的自定義方法命名,無論我想要什麼。而不是把它全部放在主要方法中,這並不能真正描述我想要完成的任務。這就是說,讓我爲平衡提供一個計數器:你的第一種方法需要創建一個對象並將一個方法稱爲這個對象,這是一個開銷。但是,這確實不重要。