我是一个初学者级程序员,刚开始从事实际项目,并且我开始考虑诸如效率以及代码是否专业的问题。我想知道在尝试检查多个布尔值时,是否最好使用嵌套的if语句或多个&&和||操作员。

Action action = event.getAction();
Material holding = event.getItem().getType();
if((action.equals(Action.RIGHT_CLICK_AIR)||(action.equals(Action.RIGHT_CLICK_BLOCK))))
{
    if((event.hasItem())&&(holding.equals(Material.COMPASS)))
    {
        //if the player right clicked while holding a compass
    }
}
这看起来正确吗?我试图将类似的if语句归为一组。另外,如果还有其他方法可以改善格式,请告诉我!谢谢。

最佳答案

欢迎来到堆栈溢出社区!
问题中共享的代码没有问题。在某些情况下,最好选择易读性,以便您的同事能够更好地理解建议的代码。但是最后,这是非常主观的。
恕我直言,如果我们一次编写所有条件,就更容易理解。所以,

Action action = event.getAction();
Material holding = event.getItem().getType();

Boolean isRequiredAction = action.equals(Action.RIGHT_CLICK_AIR) || action.equals(Action.RIGHT_CLICK_BLOCK)

if (
  isRequiredAction
  && event.hasItem()
  && holding.equals(Material.COMPASS)
)
{
  // logic...
}
但是,如果您真的想要有关如何重构它的建议和技巧以及特定语言的最佳实践,请尝试Code Review community

关于java - 嵌套的if或ands?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62802579/

10-09 23:40