java - 嵌套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 语句组合在一起。另外,如果我还能做些什么来改进我的格式,请告诉我!谢谢。
解决方案
欢迎来到 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 社区。
推荐阅读
- animation - 动画未在 a-frame 0.9.2 的事件上重新启动
- python - mac地址的字节数组格式
- ruby-on-rails - 关于 Ruby on Rails 最佳实践,我应该把计算关键指标和分析的方法放在哪里?
- python - 遍历和提取树的节点时出现问题?
- kubernetes - 在 Kubernetes 上运行 Airflow 任务
- php - 在 PHP 中,为什么当我将 var 作为字符串转换为浮点数时,我会失去精度?
- python - 需要帮助确定用户是否使用 Python 回答“是”或“否”
- ruby - 使用 Ruby File.open 写入具有长文件名的外部文件
- javascript - 如何使用 React Hook useEffect 检查状态默认布尔值 false 是否更改为 true
- java - 寻求帮助 在 1.14 Minecraft 中设置粒子