2014-09-02 25 views
0

根據清晰的代碼規律,我們希望具有隻能執行一個操作且處於相同「抽象級別」的功能。但是如何命名函數,其工作僅僅是檢查一些條件並在條件爲真時進行工作。例如,如何命名這個函數?如何在符合條件的情況下僅對某些功能進行命名

public void HowToNameThis(){ 
    if(!ComponentIsInstalled()){ 
     DisableCheckbox(); 
    } 
} 

我想過命名它像DisableCheckboxIfComponentIsNotInstalled,但隨後的名字只是重複的代碼,這實際上意味着我已經創建了一個功能,但並沒有創造任何抽象。

回答

1

CleanCode還建議您保持積極,因爲你可以在你的代碼。如果您顛倒了方法中的邏輯,那麼命名變得更容易。

public void TryEnableComponent() { 
    if(ComponentIsInstalled()) { 
     EnableCheckbox(); 
    } 
} 
1

我一般認爲真的很難,如果IF是真的值得它自己的功能。 然後最後往往是內聯它:

這樣的(僞):

如果真正得到令人眼花繚亂,這裏有一個想法的名稱可能爲讀者提供更多的上下文:

AllowReinstallationOfComponent() 
相關問題