首页 > 解决方案 > 嵌套ifs或ands?

问题描述

我是一个刚开始从事实际项目的初级程序员,我开始考虑诸如效率之类的事情,以及我的代码是否看起来很专业。我想知道,在尝试检查多个布尔值时,使用嵌套 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 语句组合在一起。另外,如果我还能做些什么来改进我的格式,请告诉我!谢谢。

标签: javaformattingbukkit

解决方案


欢迎来到 Stack Overflow 社区!

问题中共享的代码没有问题。在某些情况下,最好选择易读性,以便您的同事能够更好地理解建议的代码。但归根结底,这是非常主观的。

恕我直言,如果我们一次编写所有条件,则更容易理解。所以,

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 社区


推荐阅读