【发布时间】:2009-11-22 23:21:45
【问题描述】:
这可能是一个宗教论点,但在我的工作中,是否所有 IF 语句都应包含 ELSE 子句的问题一直令人作呕 - 即使 ELSE 子句仅包含一条说明它“故意留空”的注释.
我听到了双方的争论: 'For' 阵营 - 确保代码实际上已经解决了条件是否需要 ELSE 子句 '反对'阵营 - 代码更难阅读,增加了太多噪音
我对任何其他观点感兴趣,因为我必须用一个双方都满意的答案来解决这场辩论。
感谢您的帮助。
顺便说一句:我确实在 StackOverflow 上搜索过这个问题的答案,但找不到。如果有,只需包含指向它的链接并关闭。谢谢。
【问题讨论】:
-
@Dave,并不是说开发人员无法解析 else;这是大多数开发人员不会期望它在那里,所以这是不必要的噪音。有点像在你不要求的时候在拿铁咖啡里加了肉桂。你仍然可以喝它;这只是一次不太愉快的经历。
-
你会建议switch语句总是有一个默认情况吗?
-
您使用什么语言?我已经这样做了一段时间,作为一个通用的“规则”,这个概念很愚蠢——这让我想知道是否有特殊情况。
-
如果这个问题不是什么玩笑,这可能是我听过最没用的“通用规则”了;否则 /* 故意留空 */.
-
参见 ISO/IEC TR 2477:2013 D.20.2,第二段。它既便宜又能防止错误。
标签: coding-style