Делает ли использование enum приложение менее переносимым? - PullRequest
3 голосов
/ 07 июля 2011

Я знаю, этот вопрос звучит странно, но это то, что сказал мне мой менеджер.Когда я предложил новый дизайн, в котором использовался enum, он сказал: "Нет, ..." , а затем продолжил делать необдуманный комментарий, в котором использовалосьтакой конструкции фактически делает приложение «менее переносимым» .

Это правда?Я подозреваю, что это не так.

Ответы [ 4 ]

4 голосов
/ 07 июля 2011

Вы должны запросить у него подробности ... это значит, что вы не сможете скомпилировать код в Java 1.4 или более ранней версии, но это не очень хорошее оправдание.

Похоже, ваш менеджерможет быть сбит с толку ... но вы должны всегда нажимать для деталей.

1 голос
/ 07 июля 2011

Если ваш менеджер не хочет поддерживать переносимость с JDK 1.4 и ниже, он ошибается.В enum нет ничего непереносимого, так как это часть языка Java.Может ли он уточнить свою мысль?

1 голос
/ 07 июля 2011

Взаимодействует ли приложение с другими языками программирования, т. Е. Через API?Это единственный смысл, в котором я могу представить, что перечисление вызовет проблемы.В противном случае это просто целое / длинное число в большинстве языков, обеспечивающее дополнительный уровень проверки безопасности во время компиляции, который может сделать вашу программу только более надежной.

0 голосов
/ 07 июля 2011

Два вопроса приходят на ум с перечислениями.

Во-первых, переносимость версии.«enums» были с Java начиная с версии 5.0 (ака 1.5).Поэтому, если он заинтересован в поддержании обратной совместимости со старыми системами, это может быть хорошим поводом для беспокойства (http://en.wikipedia.org/wiki/Java_version_history#J2SE_1.4_.28February_6.2C_2002.29).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...