我有以下代碼來檢查遊戲單位是玩家還是敵人。這是唯一的兩個類別。我可以刪除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;
}
恕我直言,如果你編寫代碼的目的,任何你不需要在那裏添加混亂。你可以浪費更多的時間去試圖找出沒有明確目標的東西的目的。在你的例子中,不清楚如何用另一種方法替換一種方法。 –