Я просматриваю код Java, который поддерживается другими частями компании, кстати, некоторые бывшие разработчики C и С++. Одна вездесущая вещь - использование статических целочисленных констант, таких как
class Engine {
private static int ENGINE_IDLE = 0;
private static int ENGINE_COLLECTING = 1;
...
}
Помимо недостающего "финального" квалификатора, я немного обеспокоен таким кодом. То, что я хотел бы видеть, будучи обученным в основном на Java из школы, будет чем-то более похож на
class Engine {
private enum State { Idle, Collecting };
...
}
Однако аргументы терпят неудачу. Почему, если вообще, последнее лучше, чем первое?