根据干净代码法,我们希望拥有只做一件事并且处于相同“抽象级别”的函数。但是如何命名函数,它的工作只是检查某些条件并在条件为真时执行工作。例如,这个函数如何命名?
public void HowToNameThis(){
if(!ComponentIsInstalled()){
DisableCheckbox();
}
}
Run Code Online (Sandbox Code Playgroud)
我想过将其命名为“DisableCheckboxIfComponentIsNotInstalled”,但是这个名称只是重复了代码,这实际上意味着我已经创建了一个函数,但没有创建任何抽象。
CleanCode 还建议您在代码中尽可能保持积极的态度。如果您反转方法中的逻辑,那么命名就会变得更容易。
public void TryEnableComponent() {
if(ComponentIsInstalled()) {
EnableCheckbox();
}
}
Run Code Online (Sandbox Code Playgroud)