移除控制标志
问题
您有一个布尔变量作为多个布尔表达式的控制标志。
解决方案
而不是变量,使用打破
,继续
而且返回
.
为什么重构
控件标志可以追溯到很久以前,当时“合适的”程序员总是为他们的函数设置一个入口点(函数声明行)和一个出口点(在函数的末尾)。
在现代编程语言中,这种风格的tic已经过时了,因为我们有专门的操作符来修改循环中的控制流和其他复杂结构:
打破
:停止循环继续
:停止当前循环分支的执行,并在下一次迭代中检查循环条件返回
:停止整个函数的执行,如果在操作符中给出,则返回其结果
好处
- 控制标志代码通常比用控制流操作符编写的代码要繁琐得多。
如何重构
找到分配给导致退出循环或当前迭代的控件标志的值。
将其替换为
打破
,如果这是一个循环的出口;继续
,如果这是一个迭代的出口,或者返回
,如果你需要从函数中返回这个值。删除与控件标志关联的其余代码和检查。