文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
if/else语句块的顺序
在写if/else语句时,你通常可以自由地变换语句块的顺序。例如,你既可以写成:
也可以写成:
之前你可能没想过太多,但在有些情况下有理由相信其中一种顺序比另一种好:
·首先处理正逻辑而不是负逻辑的情况。例如,用if(debug)而不是if(!debug)。
·先处理掉简单的情况。这种方式可能还会使得if和else在屏幕之内都可见,这很好。
·先处理有趣的或者是可疑的情况。
有时这些倾向性之间会有冲突,那么你就要自己判断了。但在很多情况下这都会有明确的选择。
例如,假设你有一个Web服务器,它会根据URL是否包含查询参数expand_all来建构一个response:
当读者刚看到第一行代码时,他的脑海中马上开始思考expand_all的情况。这就像当有人说“不要去想一头粉红色的大象”时,你会不由自主地去想。“不要”这个词已经被更不寻常的“粉红色的大象”给淹没了。
这里,expand_all就是我们的“粉红色的大象”。让我们先来处理这种情况,因为它更有趣(并且也是正逻辑):
另外,下面所示是负逻辑更简单并且更有趣或更危险的一种情况,那么会先处理它:
同样,根据具体情况的不同,这也是需要你自己来判断的。
作为小结,我们的建议很简单,就是要注意这些因素并且小心那些会使你的if/else顺序很别扭的情况。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论