2013-10-23 46 views
0

裏面我有一個類的構造函數有兩個專用的方法。這是調用此方法的唯一地方。今天我想,也許這將是一個好主意,請從私有接口的方法,並把裏面deleteOption方法,功能:包裝一些功能整合到功能的私有方法

var deleteOption = function(){ 
    ... //do some operations here 

    removeOption(); 
    function removeOption() { 
     ... 
    } 
}; 

1) Is it a common practice in JavaScript?

2) Is it a good desicions from the standpoint of class architecture?

回答

1

如果你只把它在那個函數中,並且根本不傳遞一個元素數組(例如沒有循環),你可能只需要實現函數代碼而不是整個函數。如果removeOption很大,也可以根據需要進行註釋。

將函數放在函數中是JavaScript內部常用的方法,但並不總是有用的。對我來說,你似乎只是調用另一個只能在另一個函數中執行的外部函數,所以你最好做的就是簡單地合併這些函數。

利潤是你將有一個函數調用較少,因爲代碼已經在本地函數中,因此它會稍微快一點。

+0

謝謝,但通過這樣做你可以做的只是合併這些functions_,我會鬆散方法的內聚力。這就是爲什麼「removeOption」方法首先被設計,以遵守單一責任原則。 –

+0

Hmmn,..我猜想是這樣,我仍然認爲合併它們會稍微加快這個過程,但是在這種特殊情況下,除了存在額外的功能外,這並不重要,這根本就沒有問題。我會說做你的直覺在這裏告訴你。 – SidOfc

+0

:)......我現在的擔心並不是速度。應用程序變得如此之大以至於我很難理解正在發生的事情。所以我開始尋找最佳實踐。在我認爲是關於軟件設計的最佳書籍 - 代碼完成 - 中找到了一個很好的交代 - 但是沒有像JS那樣的東西:(。 –