ゲームユニットがプレイヤーか敵かを確認するためのコードは次のとおりです。これらは唯一の2つのカテゴリです。私はisEnemyメソッドを削除し、if(!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;
}
IMHO目的を持ってコードを書くと、そこにある必要のないものは混乱します。あなたは、明らかに1つを持つものよりも目的のないものの目的を見出そうとするより多くの時間を無駄にすることができます。あなたの例では、一方のメソッドをもう一方のメソッドに置き換えることはできません。 –