gpt4 book ai didi

java - 如果可以提高可读性,冗余代码是否可以接受?

转载 作者:搜寻专家 更新时间:2023-10-31 08:20:25 25 4
gpt4 key购买 nike

我有以下代码来检查游戏单位是玩家还是敌人。这是仅有的两个类别。我可以删除 isEnemy 方法并像 if(!isPlayer) 一样对敌人运行所有检查,但我个人认为 if(isEnemy) 使代码的意图更加清晰。是否有任何既定的编码风格可以说明这种情况?

public boolean isPlayer(Unit unit) {
return unit == player;
}

public boolean isEnemy(Unit unit) {
for (Unit e : enemies) {
if (unit.equals(e))
return true;
}
return false;
}

最佳答案

对于您的情况,您只有两种可能的状态 - 他们要么是敌人,要么是玩家。如果他们是玩家,他们就不是敌人。最简洁的表达方式是 !isPlayer

如果您有其他可能的状态,那么您可能想要研究其他状态的某种枚举。

作为一般经验法则:Don't Repeat Yourself .如果您复制的代码的一部分发生了更改(可能是为了修复错误),那么您必须更改该错误的每一次出现。它可能会变成一场维护噩梦。

关于java - 如果可以提高可读性,冗余代码是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com