【发布时间】:2020-05-25 03:39:28
【问题描述】:
我真的不知道如何正确表达这个问题,提前道歉。
在我的代码审查中,人们向我建议 if 和 else 条件本质上应该具有可比性,如下所示:
if (a == 0)..
else if (a == 1)
else if (a != 3)
else...
基本上,这些都是在相同的业务范围内进行评估 - 在本例中为 var a。
一个极端的反例是:
if (a == 0)
else if (window.size != server.config.size)
else if (user.b == this.user)
else...
灰色地带的一些东西:
if (a == 0)
else if (b == c)
对比
if (a == 0)
else { // implying a != 0
if (b == c)
}
我还没有在这个基本的东西中找到任何编程实践/指南。请让我知道有任何关于人们如何组织他们的 if else 的参考。
【问题讨论】:
-
您的代码审查员正试图建立一个编码指南来帮助人们理解代码。引用相同变量的 if-else 语句块很容易让人理解。您的第二个(编造的)示例在没有上下文的情况下对于一个人来说是不可能理解的,最好的通用编程指南是:编写代码以使人们(包括六个月后的您自己)更容易理解代码和上下文代码。
-
您是否发现任何答案比至少投票或对答案的反馈有用。
标签: java coding-style code-cleanup