保持if / else是否与上下文可比的条件是一种好习惯?

问题描述 投票:-1回答:1

我实际上不知道如何正确表达这个问题,请提前道歉。

在我的代码审查中,人们向我建议,条件是否应具有可比性,如下所示:

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)
}

我还没有找到任何基础的编程实践/指南。请让我知道,如果有其他提及,人们将如何组织他们。

java coding-style code-cleanup
1个回答
0
投票

有时,很难找到写任何逻辑的正确方法。特别是,实现相同目标的方法不止一种。我认为,对您来说,情况也是一样。

我在日常编码经验中以及代码审查期间也面临着这些情况。您就在这里,您想了解编程实践,即使我试图在这些情况下找到合适的编程实践或指南,但我们/您应该首先非常正确地了解我们的要求,以决定应采用哪种方法。

我不确定“可比性”是什么意思,但是您的同事会尝试根据变量或条件保留独立的if / else语句,对于不同的变量/条件,他们使用不同的if / else语句。

意味着,对于不同的变量/条件,您应该将if / else分成两个不同的if / else。您可以通过了解自己的要求来非常妥善解决问题。

但是您可以对此进行更多思考,并尽可能多地问自己为什么,您会找到正确的答案。

让我知道它是否对您有帮助。祝您编程愉快!!

© www.soinside.com 2019 - 2024. All rights reserved.