返回介绍

if/else语句块的顺序

发布于 2024-08-18 11:54:29 字数 1643 浏览 0 评论 0 收藏 0

在写if/else语句时,你通常可以自由地变换语句块的顺序。例如,你既可以写成:

也可以写成:

之前你可能没想过太多,但在有些情况下有理由相信其中一种顺序比另一种好:

·首先处理正逻辑而不是负逻辑的情况。例如,用if(debug)而不是if(!debug)。

·先处理掉简单的情况。这种方式可能还会使得if和else在屏幕之内都可见,这很好。

·先处理有趣的或者是可疑的情况。

有时这些倾向性之间会有冲突,那么你就要自己判断了。但在很多情况下这都会有明确的选择。

例如,假设你有一个Web服务器,它会根据URL是否包含查询参数expand_all来建构一个response:

当读者刚看到第一行代码时,他的脑海中马上开始思考expand_all的情况。这就像当有人说“不要去想一头粉红色的大象”时,你会不由自主地去想。“不要”这个词已经被更不寻常的“粉红色的大象”给淹没了。

这里,expand_all就是我们的“粉红色的大象”。让我们先来处理这种情况,因为它更有趣(并且也是正逻辑):

另外,下面所示是负逻辑更简单并且更有趣或更危险的一种情况,那么会先处理它:

同样,根据具体情况的不同,这也是需要你自己来判断的。

作为小结,我们的建议很简单,就是要注意这些因素并且小心那些会使你的if/else顺序很别扭的情况。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文