如果布尔值的名称清楚地说明了它的含义,那么我将始终选择版本2。但是,有时您会陷入一个特别晦涩的变量名,至少不能更改它。现在就改变吧……重构很好,但是在尝试对代码进行功能更改时,我也尽量避免过度重构。
例如:
if (!NoDropDownInHeader == true){ // Activates when there *is* a dropdown in the header)}我实际上已经在生产代码中看到了这个特定示例,并将其简化为:
if (NoDropDownInHeader == false){ // Activates when there *is* a dropdown in the header}我个人认为,这两个示例比以下示例更具可读性(尽管可以说第一个示例在心理解析方面可能与此示例相同):
if (!NoDropDownInHeader){ // Activates when there *is* a dropdown in the header}注意: 是的,我知道该变量的名称很错误,但是由于可能影响的位置数,因此在存在的多个位置进行更改超出了我所做的更改范围 。



