2013-05-15 41 views
1

我有很長的代碼功能約100行。這很難閱讀。哪種分離方法對於長時間功能更清潔?

哪種更清潔或更好的方法來分離功能?

第一種方式

function main() { 
    func1(); 
    func2(); 
    func3(); 
    func4(); 
    func5(); 
} 

方式二

function main() { 
    // more code here 
    func1(); 
} 

function func1() { 
    // more code here 
    func2(); 
} 

function func2() { 
    // more code here 
    func3(); 
} 

function func3() { 
    // more code here 
    func4(); 
} 

如果沒有一個更好的,當我應該用另一種辦法,而不是第一呢?

+1

我想去第一個,但是這個問題可能屬於http://codereview.stackexchange.com/ – Lee

+1

如果func1應該做什麼,'func1'應該只調用'func2'。 –

+0

@DanielFischer你能舉個例子嗎?現在我更喜歡第一種方式,但我的同事第二種方式。 – egon12

回答

0

這是一件好事,你正在煩惱這件事。保持功能專注於一個概念性目的總是很好的,並且相當短。

函數的體構成爲任一:

  • 的動作序列。
  • 一個循環。
  • 一個條件分支。

如果您可以將函數作爲一系列操作進行思考,請使用語句順序,即第一種方法。

如果您解釋一下什麼是功能確實讓你認識到,一些步驟實際上是一個更大的步驟的一部分的方式,然後據此構建這些步驟,一個在另一個內。

+0

thx爲快速反應,你能給我真正的例子「更大步驟的一部分」嗎? – egon12

+0

@gilbertxenodike「打開冰箱門」,「把啤酒裏面冰箱」,「關閉冰箱門」和「等待」可以被看作是一個更大一步的步驟的一部分「使啤酒冷」。 –

+0

這不是一個序列嗎?對不起,我很困惑? – egon12