我有以下代码来检查游戏单元是玩家还是敌人.这是仅有的两个类别.我可以删除isEnemy方法并对敌人运行所有检查,就好像(!isPlayer),但我个人觉得如果(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;
}
Run Code Online (Sandbox Code Playgroud)
我认为两种方法都可以接受。如果 isEnemy() == !isPlayer() 我会考虑将 isEnemy() 实现为:
public boolean isEnemy(Unit unit) {
return !isPlayer(unit);
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以获得具有两个特定方法的可读性,但不必重复自己,就好像您可以调整 isPlayer() 并影响这两个方法一样。
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |