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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.10.2009, 18:34   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от cerbo Посмотреть сообщение
Если не void то немного проще потому, что наперед известно чем все закончится.
Это соображения понятны, но
1. Так не делают, поэтому инструментарием данный путь не поддерживается
2. Так не делают, поэтому средний человек, читающий ваш код вместо знакомого паттерна будет долго тупить
3. нету case condition, есть case value - а вам приходится каждый раз повторять _cmd ==
4. Лучше безобразно, но единообразно (via подполковник Схаба)

=> На практике, лучше switch

Последний раз редактировалось belugin; 22.10.2009 в 18:36.
Старый 22.10.2009, 19:05   #2  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,300 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Цитата:
Сообщение от belugin Посмотреть сообщение
Это соображения понятны, но
1. Так не делают, поэтому инструментарием данный путь не поддерживается
2. Так не делают, поэтому средний человек, читающий ваш код вместо знакомого паттерна будет долго тупить
3. нету case condition, есть case value - а вам приходится каждый раз повторять _cmd ==
4. Лучше безобразно, но единообразно (via подполковник Схаба)

=> На практике, лучше switch
Поддерживаю. Добавил бы:
5. При отладке не понять, в каком месте данное сравнение валится - для отладчика это один оператор.
6. Дополнительные возможности для ошибок при исправлении данного кода ввиду его непонятности программистам, соблюдающим best practice.
__________________
Михаил Андреев
https://www.amand.ru
Старый 22.10.2009, 20:34   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,146 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Cool
Цитата:
Сообщение от Михаил Андреев Посмотреть сообщение
Поддерживаю. Добавил бы:
5. При отладке не понять, в каком месте данное сравнение валится - для отладчика это один оператор.
+1

Довелось видеть "елку" из таких тернарных операторов, причем там ловилась какая-то "фантомная" ошибка. Елка была размером с экран(т.е. раз в двадцать больше того, что обсуждается тут, причем там был не switch, а if). Неизвестный автор сего шедевра был неоднократно проклят Увы, для отладчика Аксы это действительно один оператор.

p.s. Для любителей писать хитрый код есть старый добрый Perl или новый модный Nemerle. Давайте не будем превращать Х++ в инструмент для упражнений в программировании. При всей простоте встроенного языка, спустя почти десять лет, а так же при том, что вышли несколько книг по разработке, пол форума в разделе "Программирование" завалено RTFM вопросами. Думайте о коллегах, не усложняйте жизнь им, и себе
Теги
best practice, x++, антипаттерн, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
почему на работает common.(fieldId)[idx] maze DAX: Программирование 3 31.08.2007 06:48
Тернарный оператор в select novic DAX: Программирование 7 10.07.2007 19:13
JOIN программно на форме не работает rohlenko DAX: Программирование 2 31.03.2005 15:41
Не работает Debugger Antidot DAX: Программирование 0 20.12.2004 13:53
CRM ABC, SWOT анализ Как это работает и работает ли вообще. ShadowFromXZone DAX: Функционал 16 02.03.2004 18:09
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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