Mam następujący kod, aby sprawdzić, czy jednostka gry jest graczem lub wrogiem. To są tylko dwie kategorie. Mógłbym usunąć metodę isEnemy i uruchomić wszystkie kontrole dla wroga tak, jakby (! IsPlayer), ale osobiście uważam, że jeśli (isEnemy) cel jest wyraźniejszy. Czy istnieją ustalone style kodowania, które mają cokolwiek do powiedzenia na temat tego rodzaju sytuacji?Czy nadmiarowy kod jest akceptowalny, jeśli poprawia czytelność?
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 Jeśli piszesz kod w celu, wszystko, co dodasz, co nie musi tam być, jest mylące. Możesz tracić więcej czasu, próbując znaleźć cel czegoś, co nie ma celu, niż coś, co oczywiście ma jeden. W twoim przykładzie nie jest jasne, w jaki sposób jedną metodę można zastąpić drugą. –