Недавно я столкнулся с стандартом кодирования, утверждающим, что вы должны никогда использовать общедоступные внутренние перечисления/классы в Java. Это первый случай, когда я столкнулся с этим соглашением и не смог найти удовлетворительного объяснения относительно того, почему.
Я понимаю, почему следует избегать публичных внутренних классов, но по каким причинам вы никогда не будете использовать общедоступные вложенные перечисления? Или, почему это плохое соглашение, чтобы следовать?