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

Результаты опроса: Используете ли вы Best Practice Check при разработке?
Да, Best Practice Check в моём приложении всегда выполняется автоматически. 12 20.00%
Да, я периодически запускаю Best Practice Check вручную. 18 30.00%
Нет, я не использую Best Practice Check, но стараюсь следовать рекомендациям при программировании. 27 45.00%
Нет, я не использую Best Practice Check и не знаком с рекомендациями. 3 5.00%
Я не программирую в AX. 0 0%
Голосовавшие: 60. Вы ещё не голосовали в этом опросе

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2012, 13:10   #21  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
ну как бы с учетом того, что код меняется, кто-то может не посмотреть и заюзать другие поля
или что еще хуже - передать курсор в другой метод
Просто разработку это усложняет, приходится каждый раз проверять что выбирается
Старый 21.02.2012, 13:10   #22  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
Тут добавлю по нововведениям.
AX2012 проверяет сколько полей используется из курсора и если используется 1 поле предлагает заменить select tableBuffer на select FieldList from tableBuffer
А это по моему как раз совсем и не BestPractice
Такая оптимизация имеет смысл только при наличии покрывающего индекса, ну или если у тебя таблица очень большое количество полей имеет (Но в этом случае, правильнее соптимизировать за пределы организации самого разработчика этой таблицы).
Затаскивание этого в best practice - заведомый идиотизм...
P.S. - Да - и конечно же указание списка полей в select - это хороший шанс на тяжеловылавливаемые ошибки, из за того что алгоритм поменяли, а дополнительные поля в список забыли добавить... Полностью согласен с предыдущим оратором.

Последний раз редактировалось fed; 21.02.2012 в 13:14.
Старый 21.02.2012, 13:20   #23  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от trud Посмотреть сообщение
ну как бы с учетом того, что код меняется, кто-то может не посмотреть и заюзать другие поля
или что еще хуже - передать курсор в другой метод
Просто разработку это усложняет, приходится каждый раз проверять что выбирается
Так, подождите. Декларируется ведь, что эта проверка только для локальных селектов. То есть, в случае, если курсор куда-то передаётся, то проверка не выполняется.

К сожалению, нет сейчас AX 2012 рабочей под рукой. Не могу проверить.

Цитата:
Сообщение от fed Посмотреть сообщение
Такая оптимизация имеет смысл только при наличии покрывающего индекса, ну или если у тебя таблица очень большое количество полей имеет (Но в этом случае, правильнее соптимизировать за пределы организации самого разработчика этой таблицы).
Затаскивание этого в best practice - заведомый идиотизм...


Ох, твои бы слова, да... Мне бы, честно говоря, тоже хотелось бы заглянуть в глаза, например, разработчикам модуля HRM

Но заметь, наличие такой рекомендации как минимум должно заставить разработчиков задуматься о структуре данных - нет?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.02.2012, 13:22   #24  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Согласен с тем, что это очень спорная проверка.
Если по коду возможно однозначно определить список используемых полей курсора, то тогда оптимизировать это место можно/нужно на уровне компиляции/трансляции, а не нагружать разработчика лишними сообщениями.
Если же выбранный курсор не ограничивается локальным использованием или, например, у него дёргаются табличные методы, то говорить об ограничении списка выбираемых полей уже бессмысленно.
За это сообщение автора поблагодарили: macklakov (1).
Старый 21.02.2012, 13:42   #25  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Регулярно пользуюсь проверкой BP.

Очень удобно, т.к. автоматом подсказываются всякие важные мелочи, которые можешь и пропустить, сконцентрировавшись на сути модификации (например, AllowEdit = false для полей первичного ключа в таблице).

Очень удобно, когда переносишь модификацию из одной версии в другую версию. Также подсказывается большая часть важных мелочей новой версии. Помниться при переносе новой таблицы из тройки в девятку с полями InventDimId и Dimension BP check отругалась и в итоге подсказала сделать связь аналитик для сайта. Или для relation, прописанного на таблице выругалась на разную длину полей в двух таблицах.

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

В целом очень удобный и нужный инструмент. На своих проектах от разработчиков всегда требую его использовать.
Но как показывает практика, всегда найдутся те, которые глубоко убеждены, что BestPractice придумана для лохов.
__________________
Dynamics AX Experience
Старый 21.02.2012, 13:53   #26  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Так, подождите. Декларируется ведь, что эта проверка только для локальных селектов. То есть, в случае, если курсор куда-то передаётся, то проверка не выполняется.
Нет не выполняется конечно же, проверять тут нечего.
Только проблема в том, что на момент написания кода могло и не передаваться. и разработчика принуждают писать select fieldlist.

А потом кто-то этот код дописывает

В целом по 2009 довольно несложно следовать BestPractice, в 2012 я потратил около 3 часов на приведение 30 часовой несложной модификации к 0 ошибкам проверок.
Т.е. опрос все же зависит от версии.
Старый 21.02.2012, 14:14   #27  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от trud Посмотреть сообщение
Нет не выполняется конечно же, проверять тут нечего.
Только проблема в том, что на момент написания кода могло и не передаваться. и разработчика принуждают писать select fieldlist.

А потом кто-то этот код дописывает
Ну, в таком случае Best Practice можно переписать так: выделяйте выборку данных и их обработку в разные методы сразу в первой же версии кода

Согласен, что рекомендация спорная. Но однозначно неправильной я бы тоже её не спешил называть.

Цитата:
Сообщение от trud Посмотреть сообщение
В целом по 2009 довольно несложно следовать BestPractice, в 2012 я потратил около 3 часов на приведение 30 часовой несложной модификации к 0 ошибкам проверок.
Т.е. опрос все же зависит от версии.
Не совсем понял. Вы предлагаете дополнить опрос вариантом вроде "Использовал в 2009, но перестал в 2012?"
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Vadik (1).
Старый 21.02.2012, 14:31   #28  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от trud Посмотреть сообщение
Разработчика принуждают писать select fieldlist.

А потом кто-то этот код дописывает
А для тех кто дописывает нужно ещё одну проверку сделать. Мол вы используете поле, которое отсутствует в списке полей select.

Ещё раз повторю своё мнение. Такую оптимизацию можно/нужно делать без участия программиста, на уровне клмпиляции/трансляции, чтобы не приходилось в случае изменения кода то добавлять, то убирать недостающие поля.
Старый 21.02.2012, 14:45   #29  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я пожалуй некий набор постулатов выскажу:
1. Следование BP, в общем случае, позволяет несколько улучшить качество решения.
2. Следование BP не гарантирует повышения качества решения, но гарантирует дополнительные трудозатраты и косты.
3. Бездумное следование BP (без понимания того, чем то или иное правило было порождено) скорее приведет к ухудшению качества решения, чем к его повышению.
4. При наличии инженерного и программистского опыта и головы на плечах, вполне можно писать неплохие решения и без следования BP.
За это сообщение автора поблагодарили: Maxim Gorbunov (2), AlGol (1), Oz (2), CDR (-2), sukhanchik (4), oip (2).
Старый 21.02.2012, 15:35   #30  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Денис, в случае наличия головы на плечах и ведения разработки в одиночку практически любая используемая технология или методика - сплошные дополнительные косты. В случае командной работы над большим проектом прогон BP check по завершению разработки - это быстрый и дешевый способ убедиться в том, что по крайней мере в простых, но важных вещах (как то - кэширование на таблицах, метки, Mandatory и AllowEdit на полях из PK и т.д.) мы не накосячили. Раздражают какие-то определенные проверки - отключи, но это не повод не пользоваться ими совсем
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: sukhanchik (2), oip (2), gl00mie (2), pitersky (2), pedrozzz (2), niksen (1).
Старый 21.02.2012, 15:50   #31  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Если честно, то получилась какая-то ерунда, а не набор постулатов...
Вместо "BP" можно подставить любое подходящее по смыслу слово ("Оформление кода", "Простановка проектных комментариев", "Рефакторинг", "ООП") и наблюдать за отсутствием смысловой нагрузки в постулатах.
__________________
Dynamics AX Experience
Старый 21.02.2012, 16:04   #32  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
Цитата:
Сообщение от CDR Посмотреть сообщение
Если честно, то получилась какая-то ерунда, а не набор постулатов...
Вместо "BP" можно подставить любое подходящее по смыслу слово ("Оформление кода", "Простановка проектных комментариев", "Рефакторинг", "ООП") и наблюдать за отсутствием смысловой нагрузки в постулатах.
Не соглашусь.
В отличии от исходного текста, при подстановке предложенных терминов видоизменённый текст уже вызывает несогласие.
__________________
Здесь могла быть Ваша реклама!
Старый 21.02.2012, 16:32   #33  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от fed Посмотреть сообщение
4. При наличии инженерного и программистского опыта и головы на плечах, вполне можно писать неплохие решения и без следования BP.
При наличии инженерного и программистского опыта и головы на плечах, вполне можно писать неплохие решения и без следования изучения BP. "Следование" многим принципиальным моментам BP просто получится само-собой.

Незнание закона не особождает от ответственности

Последний раз редактировалось S.Kuskov; 21.02.2012 в 16:40.
Старый 21.02.2012, 18:59   #34  
klimova_m is offline
klimova_m
Участник
 
43 / 18 (1) ++
Регистрация: 17.11.2008
Адрес: С.Петербург
А можно потом огласить те три процента, которые вообще не пользуются проверкой?
__________________
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.
Старый 21.02.2012, 22:57   #35  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от klimova_m Посмотреть сообщение
А можно потом огласить те три процента, которые вообще не пользуются проверкой?
Только если сами признаются
__________________
-ТСЯ или -ТЬСЯ ?
Старый 22.02.2012, 01:22   #36  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,326 / 3556 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ой больная тема Ответил, что не использую, но знаком, хотя в душе полностью согласен с fed, что BP читал только для 3.0, а дальше уже не читал .
Я пользуюсь BP только в очень сложных случаях, когда очень сложный и непрозрачный алгоритм и надо выверить код. В этом случае BP может подсказать какие-то косяки типа забыл return вставить или есть неиспользуемая переменная.
А еще BP полезен при проверке кода у новичков, когда их надо наставить на путь истинный .
__________________
Возможно сделать все. Вопрос времени
Старый 22.02.2012, 10:15   #37  
niksen is offline
niksen
Участник
Самостоятельные клиенты AX
 
284 / 28 (1) +++
Регистрация: 05.07.2011
Адрес: Татарстан
Цитата:
Сообщение от Vadik Посмотреть сообщение
Только если сами признаются
честно, не пользуюсь проверками, хотя понимаю, что иногда надо, меньше бы вопросов на форуме задавал, потому что ошибки, которые я допускаю в программировании - это лишь ошибки именно программирования, которые в принципе любой программист мог бы исправить. Так вот, ВР - это иногда для мне как защита от дурака
Старый 22.02.2012, 11:34   #38  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
а почему в диаграмме шкала нелинейная?
Теги
best practice, x++, опрос, программирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Error in upgrade readiness check when upgrading to AX 2012 Blog bot DAX Blogs 0 11.11.2011 14:11
axinthefield: Recording manual check in Dynamics AX Blog bot DAX Blogs 0 18.06.2011 00:14
sumitax: AX2009 – Best Practice Check for Classes Blog bot DAX Blogs 0 18.02.2011 17:11
AX UK: Building a Microsoft Virtualisation & Management Practice Blog bot DAX Blogs 0 17.02.2010 21:07
axStart: Ax product version check Blog bot DAX Blogs 1 21.06.2008 23:38

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

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

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