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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2010, 10:09   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 438 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от mazzy Посмотреть сообщение
Есть клиент.
Теперь с ним работаем мы. Но раньше с ним кто только не работал.

Поколения разработчиков использовали префиксы (как это рекомендовалось в ранних бест-практисах)
в результате сейчас нередки подобные названия DDD_Codes.KKK_XXX_LL_OKVED. (где ККК, ХХХ, LL - префиксы)

Поскольку кастомизированных таблиц и полей много, то сложно запомнить какие префиксы и в какой момент нужно использовать. Что выбешивает.

Вопросы:
= что лучше использовать на ваш взгляд для того, чтобы обозначить разработчика - префиксы/суффиксы/ничего?
= вы бы стали рефакторить приложение, избавляясь от префиксов (или превращая их в суффиксы)? каковы плюсы и минусы такого рефакторинга?

А также хотелось бы услышать ваше мнения и размышления по поводу префиксов/суффиксов.
Используете ли вы префиксы/суффиксы?
Когда они вам пригодились, а когда нет?

По-моему - префиксы/суффиксы совершенно бесполезная штука. Где я ошибаюсь?

Заранее спасибо.
1) Если код пишет клиент, то использует свой префикс.
2) Если код пишет консалтинг для клиента, то желательно чтоб использовал свой префикс.
3) Префикс используем только для нового объекта. Для методов или полей этого объекта не используем. Т.е. ситуация когда место DDD_Codes.OKVED будет DDD_Codes.KKK_OKVED считается исключительной. Т.е. написал например свой объект консалт. А клиенту потом пришлось дописывать(создать у этого объекта свой метод). Или наоборот. Но при этом смотря на объект сразу понятно кто писал и что было вмешательство в алгоритм.
4) Я придерживаюсь мнения, что если объект писал один человек, то он его и должен дорабатывать. С таким подходом исключительных ситуаций возникает мало.
Если консалтинг своё отработал и необходимо вмешательство. Ок. Делай на его объекте метод с клиентским префиксом и работай. Как только на этом объекте будет рябить в глазах от префиксов, это значит что класс сильно переработали и это повод для рефракторинга.
А в первоначальной постановке вопроса вижу какую то предвзятость.
1) Потому что специально наверно сделали связку префикс_префикс_префикс. Которая не является нормой для подход изложенного выше. А является нормой для какого то другого подхода.
2) имя метода OKVED написано капсом. Что само посебе заставляет задуматся.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 07.10.2010, 10:22   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Комментарии в коде, описывающие проект, разработчика и т.п. то же вызывают неоднозначное отношение, вспомнил ветку:
А в ваших разработках тоже не принято ставить комментарии?
То же очень интересует вопрос, нужно ли использовать префиксы-суффиксы. Пока везде, где работал использовались суффиксы, кроме одного места шабашки, где используют префиксы - лично мне этот подход очень не понравился.
Может быть для статистики mazzy добавить к теме голосовалку? Хочется посмотреть статистику.
Старый 07.10.2010, 10:46   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от miklenew Посмотреть сообщение
4) Я придерживаюсь мнения, что если объект писал один человек, то он его и должен дорабатывать. С таким подходом исключительных ситуаций возникает мало.
Если консалтинг своё отработал и необходимо вмешательство. Ок. Делай на его объекте метод с клиентским префиксом и работай. Как только на этом объекте будет рябить в глазах от префиксов, это значит что класс сильно переработали и это повод для рефракторинга.
я тоже придерживаюсь мнения, что с объектом должен работать один человек...
но вся петрушка в том, что приложения живут дольше, чем разработчики

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


Цитата:
Сообщение от miklenew Посмотреть сообщение
А в первоначальной постановке вопроса вижу какую то предвзятость.
1) Потому что специально наверно сделали связку префикс_префикс_префикс. Которая не является нормой для подход изложенного выше. А является нормой для какого то другого подхода.
2) имя метода OKVED написано капсом. Что само посебе заставляет задуматся.
1) я тоже не знаю почему так сделали. но оно есть
2) Блондинка я, блондинка.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Может быть для статистики mazzy добавить к теме голосовалку? Хочется посмотреть статистику.
Думал об этом.
Но не вижу осмысленных вариантов.

Человек может предпочитать суффиксы, но работает в приложении с префиксами и вынужден следовать устоявшимся правилам. поэтому глупо спрашивать "что импользуете сейчас?".
А если задать вопрос в стиле "как бы вы поступили на новом приложении?"... Дык, получим какого-то сферического коня в вакууме.

Предложите варианты.
__________________
полезное на axForum, github, vk, coub.
Старый 07.10.2010, 10:46   #4  
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   #5  
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   #6  
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   #7  
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   #8  
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   #9  
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   #10  
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   #11  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от glibs Посмотреть сообщение
В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
Я тоже так думаю
__________________
С уважением,
Вячеслав
Старый 07.10.2010, 12:05   #12  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Поле добавлено в задании R128. А в задании R176 серьезно меняется принцип его заполнения так, что R128 становится уже неактуальным. Что делать? Важно же не где объект создавался, а где описано его текущее состояние.
Старый 07.10.2010, 12:31   #13  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от oip Посмотреть сообщение
Поле добавлено в задании R128. А в задании R176 серьезно меняется принцип его заполнения так, что R128 становится уже неактуальным. Что делать? Важно же не где объект создавался, а где описано его текущее состояние.
У Аксапты же идеология выражается словами "аудиторский след"
Тут странно читать о том, что важно лишь текущее состояние.

Принцип заполнения выражается на X++, где есть X++ там есть и комментарии.
Там будет что-то типа
X++:
 \\ OIP 07.10.2010 R176 ...
Так мы видим историю развития приложения.

Вот сижу сейчас в приложении. Суффиксов нет.
В таблицах новые и измененные поля видно.
По перекрестным ссылкам можно посмотреть где поле используется, если оно используется в коде.
Если повезет, встречу там комментарии с сылкой на задание и даты. Отсортирую по датам, почитаю задания, восстановлю контекст. Можно и так.
Суффикс мне облегчил бы поиск задания, с которого все начиналось, а возможно на нем и закончилось.
Старый 07.10.2010, 14:26   #14  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от Кирилл Посмотреть сообщение
У Аксапты же идеология выражается словами "аудиторский след"
Тут странно читать о том, что важно лишь текущее состояние.
Аудиторский след - это возможность проследить пошагово все выполненные изменения. Какое это имеет отношение к префиксам?
__________________
С уважением,
Вячеслав
Старый 07.10.2010, 16:18   #15  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от pitersky Посмотреть сообщение
Аудиторский след - это возможность проследить пошагово все выполненные изменения. Какое это имеет отношение к префиксам?
В приведенном выше примере как раз пошагово и были прослежены 2 изменения, если 2 мало, можно привести пример для 3 и т.д.

А слова про аудиторский след были ответом на мнение о том, что важно лишь текущее состояние.
Старый 07.10.2010, 14:47   #16  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Кирилл Посмотреть сообщение
У Аксапты же идеология выражается словами "аудиторский след"
Тут странно читать о том, что важно лишь текущее состояние.
Еще раз. Для "аудиторского следа" есть система контроля версий, которая для этого и предназначена. С помощью префикса вы можете узнать только модификацию, в рамках которой поле просто создавалось, не больше. Эта информация нужна, скажем прямо, очень-очень редко. Гораздо чаще нужна информация о как раз текущем состоянии. А в поле вы информацию о создании зашиваете навсегда. Плохо.

Если по какой-то причине вам очень часто надо узнавать, в рамах какой модификации добавлялось поле, есть куча способов гораздо лучше, даже если вы почему-то не хотите использовать систему контроля версий. От ветки с Application Documentation в АОТе до статического метода description на таблице. И заметьте, при этих способах очень редко нужная информация о номере модификации не будет постоянно мелькать перед глазами. А смотреть ее будут только тогда, когда (если) она понадобится.
Старый 07.10.2010, 16:25   #17  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от oip Посмотреть сообщение
Еще раз. Для "аудиторского следа" есть система контроля версий, которая для этого и предназначена.
Мода на суффиксы родилась во времена отсутствия контроля версий.
Вы так кипятитесь, что я начинаю чувствовать себя ярым защитником суффиксов, хотя на самом деле нейтрально отношусь к ним и просто привел пример где они могли бы быть полезны

Цитата:
Сообщение от oip Посмотреть сообщение
есть куча способов гораздо лучше
В туалете для смыва обычно располагают кнопку на бачке, хотя есть куча способов гораздо лучше и вообще без кнопки, которая мозолит глаза.
Но кнопка на бачке это просто и предсказуемо
Старый 12.10.2010, 13:48   #18  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Немалый объем книги Стива Макконнелла "Совершенный код" посвящен парвильному именованию переменных, классов, их методов, отдельных функций без привязки к конкретному языку программирования. Автор, по-моему, является сторонником "осмысленного именования" вышеперечисленных конструкций посредством использования так называемых префиксов и суффиксов.
Я тоже более склонен к подобному принципу именования языковых конструкций, в котором используются и префиксы, и суффиксы. Главное, чтобы их использование было по существу и со смыслом. Это может в дальнейшем помочь быстрей разобраться с объемным кодом самому же разработчику, а также сторонним программистам. И как мне кажется, использование этих "морфологических элементов" должно быть строго регламентировано на уровне компании и максимально приближено к общим стандартам программирования (хотя это понятие - "стандарты программирования", достаточно расплывчато и динамично).
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 12.10.2010 в 15:47.
Старый 15.10.2010, 13:50   #19  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от mazzy Посмотреть сообщение
Есть клиент.
Теперь с ним работаем мы. Но раньше с ним кто только не работал.

Поколения разработчиков использовали префиксы (как это рекомендовалось в ранних бест-практисах)
в результате сейчас нередки подобные названия DDD_Codes.KKK_XXX_LL_OKVED. (где ККК, ХХХ, LL - префиксы)

Поскольку кастомизированных таблиц и полей много, то сложно запомнить какие префиксы и в какой момент нужно использовать. Что выбешивает.

Вопросы:
= что лучше использовать на ваш взгляд для того, чтобы обозначить разработчика - префиксы/суффиксы/ничего?
= вы бы стали рефакторить приложение, избавляясь от префиксов (или превращая их в суффиксы)? каковы плюсы и минусы такого рефакторинга?

А также хотелось бы услышать ваше мнения и размышления по поводу префиксов/суффиксов.
Используете ли вы префиксы/суффиксы?
Когда они вам пригодились, а когда нет?

По-моему - префиксы/суффиксы совершенно бесполезная штука. Где я ошибаюсь?

Заранее спасибо.
В принципе, какая-то идентификация в самом объекте приложения в основном помогает что-то найти тому разработчику, который собственноручно создал какой-то новый объект (или коллегам из этой же компании). Вопрос удобства - относительный
По опыту, сталкивался с такой постановкой задачи: разработать новый модуль, все объекты, принадлежащие этому модулю именовать по правилу: <3 символа модуля>_<Имя объекта>. При разработке, и при переносе, и даже сейчас при поддержке этой функциональности это довольно удобно, психологически выделяется группа классов, EDT, таблиц и т.д. в АОТ, глядя на которые понимаешь - "Это этот модуль". Но тут, получается смысл префикса объекта приложения - идентификация его принадлежности к модулю (и удобная сортировка в AOT). На мой взгляд, префикс имеет смысл только в похожем случае (суффикс наверно был бы не настолько читабельным, и группа объектов, принадлежащая этому модулю будет разбросана в алфавитном порядке, и не будет представляться "группой" объектов).
С другой стороны, делая доработки для одной компании, в которой кто только не успел "попрограммировать", постоянно встречаю префиксы. Причем префиксы были как названием компании, так и самих разработчиков В итоге открываю форму, начинаю смотреть дизайн, поля называются ~ "<префикс>_amount" (а EDT - AmountMST), перехожу в класс - вижу в нем и префиксы и комментарии. Помогают, пожалуй, только комментарии, а префиксы - оооооочень отвлекают и путают (в силу их неорганизованности в этом случае) .
В результате, мне кажется префиксы имеют смысл при написании какой-то довольно большой новой функциональности (что бывает не очень часто), и они не имеют смысла, если выполняются запросы по поддержке функционала (исправление ошибок и т.п.).

Последний раз редактировалось kornix; 15.10.2010 в 14:03.
Старый 19.10.2010, 17:39   #20  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Чтобы подлить керосина в огонь: только что создал таблицу MMEOfficialsActingTable_RU.
Расшифровываем: некто, работающий для клиента "MME", дорабатывает таблицу исполняющих обязанности должностных лиц. Чтобы не перепутать с другой важной функциональностью для концерна, оставляем суффикс _RU, чтобы последующие поколения программистов могли легко определить: речь идет о доработке для загадочной страны Россия. Чем плохо?
Теги
как правильно, полезное, 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, время: 12:45.