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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2010, 10:46   #1  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Пожалуй вставлю свои пять копеек...

Как показывает практический опыт, от использования различных кодов (номер модификации, номер проекта и т.п.) в наименовании объектов системы абсолютно никакой пользы нет! Однако их использование значительно ухудшает восприятие кода. Единственное исключение - Использование номеров модификаций в наименовании проектов (при условии, что есть какой-то реестр модификаций со сквозной нумерацией).

Использование префиксов в классическом смысле (большие буквы с нижним подчеркиванием) в наименовании объектов также стараюсь избегать. Однако использование смысловых префиксов (какое-то имя, объединяющее группу разных объектов по общему смыслу) очень удобно. Классический пример - название модуля в имени объекта. Хотя каких-то концептуальных различий между префиксом "LG_" и "Ledger" я не вижу. Просто исторически так сложилось, что используется удобочитаемый префикс, который облегчает восприятие кода. Соответственно не вижу смысла изобретать велосипед и ставить везде какие-то особенные префиксы.

Суффиксы часто использую в классах-наследниках для их группировки в АОТ. Однако опять же использую в основном смысловые суффиксы ("_Purch", "_Sales"), а не классические ("_RU").

Аргумент, что правильное наименование облегчает поиск объекта в AOT, считаю полным бредом. Как правило, поиск 90% объектов в системе начинается с меню/формы. И тот факт, что в классе использован префикс "Ledger" вместо "LG_" абсолютно никак не ускоряет его.

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

Вообщем, мое ИМХО, использование префиксов/суффиксов зависит от уровня профессионализма программиста. Чем выше уровень, тем больше программист уделяет внимания восприятию своего кода и его удобочитаемости , и тем меньше использует классические префиксы/суффиксы, а все больше смысловые.
__________________
Dynamics AX Experience
Старый 07.10.2010, 11:26   #2  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 438 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от CDR Посмотреть сообщение
Вообщем, мое ИМХО, использование префиксов/суффиксов зависит от уровня профессионализма программиста. Чем выше уровень, тем больше программист уделяет внимания восприятию своего кода и его удобочитаемости , и тем меньше использует классические префиксы/суффиксы, а все больше смысловые.
А мне всегда казалось, что префиксы не используют люди с большими амбициями и с большим желанием всё сделать по быстрому. Оказывается они просто мегагуру.
Работал и так и так и с префиксами и с префиксами ввиде названия модуля. И одно другому не мешает. префикс_названиемодуля_ит.д.
В коде вверху создаёте переменную.
X++:
        ;
и дальше работаете без префикса.
А статические методы они на то и статические чтоб вызвал и забыл.
Цитата:
Сообщение от CDR Посмотреть сообщение
Аргумент, что правильное наименование облегчает поиск объекта в AOT, считаю полным бредом. Как правило, поиск 90% объектов в системе начинается с меню/формы.
Ага а остальные 10% можно не искать.
С префиксами получается 90+10. А без префиксов 90.
А сколько раз в день вы тыкаете в аот и набираете с клавы какое нибудь название, чтобы система привела вас курсором к этому объекту?
Кроме того используя перекрёстные ссылки я бывает просто отбрасываю часть объектов с префиксами или без в зависимости от того что ищу.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.

Последний раз редактировалось miklenew; 07.10.2010 в 11:28.
Старый 07.10.2010, 11:36   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от miklenew Посмотреть сообщение
А сколько раз в день вы тыкаете в аот и набираете с клавы какое нибудь название, чтобы система привела вас курсором к этому объекту?
даже не "тыкаете в аот", а в редакторе кода нажимаете F2, Ctrl+T, F12, F11 и т.п.
префиксы в этих выпадающих списках... ну, как серпом по яйцам.

и не сочтите за рекламу.
лично я купил и активно юзаю axassist. эта штука ускоряет кодирование во много раз.

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

я тоже согласен, что названия модулей вполне могут быть префиксами.
но речь идет о том, что каждый разработчик использует свои префиксы. как в таблицах/классах (что еще объяснимо), так и в полях, и в типах, и в енумах (последние просто выносят мозх).
__________________
полезное на axForum, github, vk, coub.
Старый 07.10.2010, 12:18   #4  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от miklenew Посмотреть сообщение
А мне всегда казалось, что префиксы не используют люди с большими амбициями и с большим желанием всё сделать по быстрому. Оказывается они просто мегагуру.
Очень любопытно, как вы обнаружили связь больших амбиций и больших желаний у людей, использующих префиксы в AX...
Смысловые префиксы облегчают восприятие кода другим программистом - это факт. Программист, думающий о восприятии своего кода другим программистом, как правило думает и о развитии и сопровождении своего кода. А это уже серьезная заявка на то, что бы быть мегагуру!

Цитата:
Сообщение от miklenew Посмотреть сообщение
Работал и так и так и с префиксами и с префиксами ввиде названия модуля. И одно другому не мешает. префикс_названиемодуля_ит.д.
В коде вверху создаёте переменную.
X++:
        ;
и дальше работаете без префикса.
А статические методы они на то и статические чтоб вызвал и забыл.
Программист, не знакомый с Вашими условностями ("один пишем, два в уме"), затратит дополнительное время на идентификацию объекта по имени переменной, анализируя какой-то кусок кода. Соответственно и сопровождение такого кода осложняется. Это же очевидно.

Цитата:
Сообщение от miklenew Посмотреть сообщение
Ага а остальные 10% можно не искать.
С префиксами получается 90+10. А без префиксов 90.
А сколько раз в день вы тыкаете в аот и набираете с клавы какое нибудь название, чтобы система привела вас курсором к этому объекту?
Кроме того используя перекрёстные ссылки я бывает просто отбрасываю часть объектов с префиксами или без в зависимости от того что ищу.
Остальные 10% процентов объектов каждый уважающий себя DAX-программист должен знать наизусть!
__________________
Dynamics AX Experience
Старый 07.10.2010, 16:07   #5  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 438 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от CDR Посмотреть сообщение
Очень любопытно, как вы обнаружили связь больших амбиций и больших желаний у людей, использующих префиксы в AX...
Это была ирония на ваши слова.
Цитата:
Вообщем, мое ИМХО, использование префиксов/суффиксов зависит от уровня профессионализма программиста. Чем выше уровень, тем больше программист уделяет внимания восприятию своего кода и его удобочитаемости , и тем меньше использует классические префиксы/суффиксы, а все больше смысловые.
Работал чел без префиксов в одной организации - он мегагуру. Пришёл в другую организацию, работает с префиксами - он снова в lol превратился.
Цитата:
Сообщение от CDR Посмотреть сообщение
1) Смысловые префиксы облегчают восприятие кода другим программистом - это факт. 2) Программист, думающий о восприятии своего кода другим программистом, как правило думает и о развитии и сопровождении своего кода. 3) А это уже серьезная заявка на то, что бы быть мегагуру!
1)-2) это технология работа, какая бы она не была в организации ей нужно следывать.
3) Всё не пойму, зачем вы пытаетесь что в первом что во втором сообщении как то класифицировать уровень разработчиков? Одни хорошие делают так, другие так не делают значит они плохие разработчики. В моём понимание хороший специалист в своём деле, никогда не станет мегагуру, если он будет закрывать так вопросы. Помню собрались специалистов по аксе с двух компаний, человек 40. И начальник айтишников место ответа на вопрос о технологии работы начал рассказывать о своём авторитете. Лучше бы он ответил, обсудим позже.
И такие cлучаи к сожаленью не редки.
Вот mazzy. Он на этом форуме давно и в аксе давно, но я не помню чтоб он ссылался на свой авторитет хоть в одной теме. Он либо приводит доводы или просто высказывает свою точку зрения или случаи из жизни. С таким подходом даже если он человека не переубедит, человек может сам современем передумать.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.

Последний раз редактировалось miklenew; 07.10.2010 в 16:10.
Старый 07.10.2010, 19:24   #6  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от miklenew
...
А мне всегда казалось, что префиксы не используют люди с большими амбициями и с большим желанием всё сделать по быстрому.
...
Вы разработчиков Микрософта имеете в виду?

Считаете, что стандартный код хуже вашего? Если вы представитель заказчика, собираетесь работать на нем вечно? Вы вообще код рефакторите?

Если в общем, я за единообразие кода. Вижу в этом плюсы.

Префиксы не решают эффективно задачу комментирования кода. Это мы разобрали. Вникание в работу нового привлеченного исполнителя затрудняют. Потенциально способствуют дублированию одних и тех же сущностей. Тычут палки в колеса ООП (типа поменял метку в одном типе и везде поменялось). Сильно замедляют процесс разработки не только новому для проекта программисту, но и старожилу (Маззи привел абсолютно жизненные примеры, подтверждаю на 100 процентов, сам доходил до бешенства пытаясь что-то найти).

В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
__________________
С уважением,
glibs®
Старый 08.10.2010, 09:51   #7  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от miklenew Посмотреть сообщение
Это была ирония на ваши слова.

Работал чел без префиксов в одной организации - он мегагуру. Пришёл в другую организацию, работает с префиксами - он снова в lol превратился.

1)-2) это технология работа, какая бы она не была в организации ей нужно следывать.
3) Всё не пойму, зачем вы пытаетесь что в первом что во втором сообщении как то класифицировать уровень разработчиков? Одни хорошие делают так, другие так не делают значит они плохие разработчики. В моём понимание хороший специалист в своём деле, никогда не станет мегагуру, если он будет закрывать так вопросы. Помню собрались специалистов по аксе с двух компаний, человек 40. И начальник айтишников место ответа на вопрос о технологии работы начал рассказывать о своём авторитете. Лучше бы он ответил, обсудим позже.
И такие cлучаи к сожаленью не редки.
Вот mazzy. Он на этом форуме давно и в аксе давно, но я не помню чтоб он ссылался на свой авторитет хоть в одной теме. Он либо приводит доводы или просто высказывает свою точку зрения или случаи из жизни. С таким подходом даже если он человека не переубедит, человек может сам современем передумать.
У вас какое-то своеобразное восприятие моих слов в каком-то своем контексте.
Все мои ответы были даны исключительно в контексте исходного вопроса Сергея. А он спрашивал не о классификации разработчиков, а именно о "технологии разработки". Соответственно и я не делил разработчиков на уровни в зависимости от использования ими префиксов/суффиксов, потому что как вы правильно отметили, разработчики обязаны руководствоваться в своей работе уже принятыми правилами/стандартами разработки. А вот разрабатывает эти правила/стандарты обычно один человек - руководитель группы разработки (технический архитектор, ведущий разработчик, т.п.). И смысл моего исходного поста был в том, что чем выше уровень проффесионализма этого человека, тем больше он обращает внимание на эффективность своей и чужой работы, и тем четче у него понимание того простого факта, что наименование объектов в системе должно служить лишь одной единственной цели - простое и быстрое восприятие уже написанного кода, впрочем как и все остальные требования к написанию кода. Для решения всех остальных задач есть другие инструменты как в самой системе так и вне ее, позволяющие решать эти задачи опять же более эффективно.

Цитата:
Сообщение от glibs Посмотреть сообщение
В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
+1
__________________
Dynamics AX Experience
Старый 12.10.2010, 13:13   #8  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,518 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от glibs Посмотреть сообщение
В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
Я тоже так думаю
__________________
С уважением,
Вячеслав
Теги
как правильно, полезное, holywar

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Что лучше, много номенклатур или много конфигураций? axvrp DAX: Функционал 75 21.09.2010 16:13
Как лучше вносить изменения в чужой класс ski DAX: Программирование 13 18.08.2009 10:15
LedgerJournalTable как лучше сделать новую форму kitty DAX: Программирование 2 20.02.2008 12:36
Site в складской аналитике. Как лучше перевести? mazzy DAX: Прочие вопросы 73 07.01.2008 12:18
подскажите. как лучше сделать kitty DAX: Программирование 4 02.11.2007 11:14
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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