如何命名仅在条件为真时执行某些操作的函数

Ole*_*hai 3 coding-style

根据干净代码法,我们希望拥有只做一件事并且处于相同“抽象级别”的函数。但是如何命名函数,它的工作只是检查某些条件并在条件为真时执行工作。例如,这个函数如何命名?

public void HowToNameThis(){
   if(!ComponentIsInstalled()){
      DisableCheckbox();
   }
}
Run Code Online (Sandbox Code Playgroud)

我想过将其命名为“DisableCheckboxIfComponentIsNotInstalled”,但是这个名称只是重复了代码,这实际上意味着我已经创建了一个函数,但没有创建任何抽象。

Eti*_*heu 5

CleanCode 还建议您在代码中尽可能保持积极的态度。如果您反转方法中的逻辑,那么命名就会变得更容易。

public void TryEnableComponent() {
    if(ComponentIsInstalled()) {
        EnableCheckbox();
    }
}
Run Code Online (Sandbox Code Playgroud)