为什么不能打断程序员,不能一次性写好吗( 二 )


为什么许多程序员从来都不用break或者continue语句?

为什么不能打断程序员,不能一次性写好吗


写程序应该尽量的避免使用break和continuefor、while循环语句里出现return是没有问题的 , 但如果你的循环里出现了break和continue,往往是因为对循环的逻辑没有考虑情况 , 考虑周全了基本不需要break和continue 。因为用了break和continue之后会让循环的逻辑和终止的条件变得复杂 , 难以确保正确的结果 。
情景一:下面一段代码表示name里含有“bad”这个词 , 就跳过后面的循环代码 。这是一种“负面”的描述 , 它不是告诉你什么时候“做”一件事 , 而是告诉你什么时候“不做”一件事 。想要弄清楚它到底要干什么 , 就必须搞清楚continue会导致哪些语句被跳过了 , 然后脑袋得有个逆向逻辑 , 才能知道它到底想做什么 。这就是为什么含有break和continue的循环很难理解 , 它们靠“控制流”来描述“不做什么” , 而“跳过做什么” , 到最后你也没有搞清楚它到底“要做什么” 。
其实上面的代码完全可以抛弃continue:这段代码是一个比较“正面”的描述 , 意思是当名字中不包含“bad”的时候 , 它会被添加到goodNames的链表中 。当你再次阅读这段代码时 , 你可以清楚地看到它的组织和结构 。场景2: for和while循环有终止循环的唯一条件 , 但是在循环中加入break实际上是增加了一个退出条件 。

推荐阅读