我实际上不知道如何正确表达这个问题,请提前道歉。
在我的代码审查中,人们向我建议,条件是否应具有可比性,如下所示:
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)
vs。
if (a == 0)
else { // implying a != 0
if (b == c)
}
我还没有找到任何基础的编程实践/指南。请让我知道,如果有其他提及,人们将如何组织他们。
有时,很难找到写任何逻辑的正确方法。特别是,实现相同目标的方法不止一种。我认为,对您来说,情况也是一样。
我在日常编码经验中以及代码审查期间也面临着这些情况。您就在这里,您想了解编程实践,即使我试图在这些情况下找到合适的编程实践或指南,但我们/您应该首先非常正确地了解我们的要求,以决定应采用哪种方法。
我不确定“可比性”是什么意思,但是您的同事会尝试根据变量或条件保留独立的if / else语句,对于不同的变量/条件,他们使用不同的if / else语句。
意味着,对于不同的变量/条件,您应该将if / else分成两个不同的if / else。您可以通过了解自己的要求来非常妥善解决问题。
但是您可以对此进行更多思考,并尽可能多地问自己为什么,您会找到正确的答案。
让我知道它是否对您有帮助。祝您编程愉快!!