圣诞大减价开始了!

移除控制标志

问题

您有一个布尔变量作为多个布尔表达式的控制标志。

解决方案

而不是变量,使用打破继续而且返回

为什么重构

控件标志可以追溯到很久以前,当时“合适的”程序员总是为他们的函数设置一个入口点(函数声明行)和一个出口点(在函数的末尾)。

在现代编程语言中,这种风格的tic已经过时了,因为我们有专门的操作符来修改循环中的控制流和其他复杂结构:

  • 打破:停止循环

  • 继续:停止当前循环分支的执行,并在下一次迭代中检查循环条件

  • 返回:停止整个函数的执行,如果在操作符中给出,则返回其结果

好处

  • 控制标志代码通常比用控制流操作符编写的代码要繁琐得多。

如何重构

  1. 找到分配给导致退出循环或当前迭代的控件标志的值。

  2. 将其替换为打破,如果这是一个循环的出口;继续,如果这是一个迭代的出口,或者返回,如果你需要从函数中返回这个值。

  3. 删除与控件标志关联的其余代码和检查。

Baidu
map