AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2014, 20:20   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
А мне кажется, очень стрёмно делать ветвления в коде на основе текстовых строк - метками ли они задаются или нет. Фактически тут в код зашит строковый литерал, который в зависимости от языка, настроенного у пользователя, может быть подменен ядром на другой строковый литерал. Кто-то может залезть и поменять текст метки, потому что ему больше нравится другой вариант, и чего, все сломается?
Текстовые строки надо преобразовывать в Enum, если не преобразовалось - слать куда подальше, а если преобразовалось, то в коде уже принимать решения на основе значения Enum (в switch), включая обработку значений, которые не предусмотрены в коде (в default - выбрасывать ошибку). Если строк может быть очень много для Enum и они могут произвольно меняться, то можно настроечную таблицу завести и логику уже привязывать к найденной записи настроечной таблицы... Строковые литералы приемлемы, если они в макросах зашиты (скажем, названия элементов XML-схемы), а с метками их сравнивать - нафиг...

PS. А еще бывают экзотические языки, на которые те или иные метки еще не перевели, и тогда сравнение будет идти с пустой строкой. В случае преобразования строки в енум мы от таких ситуаций абстрагируемся.

Последний раз редактировалось gl00mie; 05.11.2014 в 20:24. Причина: PS
За это сообщение автора поблагодарили: Logger (3).
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:53.