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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.10.2010, 16:54   #101  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от AX2011 Посмотреть сообщение
> По-моему - префиксы/суффиксы совершенно бесполезная штука. Где я ошибаюсь?

Ошибка в слове "совершенно".
Если их не использовать, можно столкнуться с проблемой апгрейда или миграции (в случае если названия ВНЕЗАПНО совпадут)
Мне кажется бесполезно использовать префиксы/суффиксы всего лишь для облегчения миграции. Смысл в них должен быть каким-нибудь концептуальным (идеологическим "изюмом"), а не просто технической фишкой, облегчающей перенос вашей функциональности на новую платформу.
Это как использовать гигантский агропромышленный комбаин для поездки на рыблку
Старый 22.10.2010, 17:11   #102  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1409 (52) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от AX2011 Посмотреть сообщение
А сравнивать нужно с вариантом с префиксами (что уж точно не сложнее - дописать 3 символа). При чем тут другие проблемы?
Если единственным псевдонедостатком неиспользования префиксов является якобы возможные в будущем проблемы при апгрейде, то они не нужны точно, потому что реальных недостатков у префиксов полно и они в этой теме уже подробно описаны и неоднократно. Другие проблемы именно при том, что время затраченное на переименование совпавших объектов (if any) будет мизерно по сравнению с другими задачами при переходе. И, по-моему мнению, это время будет потраченно совсем не зря в любом случае.

А дописать три символа не сложно, кто бы спорил.
__________________
С уважением,
Олег.
За это сообщение автора поблагодарили: kornix (1).
Старый 22.10.2010, 17:21   #103  
AX2011
Гость
 
n/a
> реальных недостатков у префиксов полно и они в этой теме уже подробно описаны и неоднократно

а можно ссылку? а то я не вижу "реальных" недостатков
Старый 22.10.2010, 17:25   #104  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1409 (52) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Я понимаю, что данная тема уже сильно разрослать, но мне бы не хотелось по второму кругу еще раз одно и тоже обсуждать. Пожалуй, я присоединюсь к
Цитата:
Сообщение от glibs Посмотреть сообщение
В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
__________________
С уважением,
Олег.
Старый 25.10.2010, 12:47   #105  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,649 / 1146 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AX2011 Посмотреть сообщение
> реальных недостатков у префиксов полно и они в этой теме уже подробно описаны и неоднократно

а можно ссылку? а то я не вижу "реальных" недостатков
Я понимаю, что "чукча не читатель, чукча писатель" Поэтому попробую свести вместе результат данного обсуждения

Использование префиксов было рекомендовано первыми выпусками Best Practis в ранних версиях Axapta. В последующих выпусках Best Practis (новых версиях Axapta) этой рекомендации больше нет. "Но осадок остался" (с)


Цель: Исключение пересечения имен с именами стандартных объектов с целью облегчения выделения кастомизированных объектов при переходе на новые версии/фиксы

Возражение:

1) Заявленная цель носит скорее теоретический характер. Никто и никогда еще не говорил на форуме о подобной проблеме.

2) При переходе на новую версию, "простой" upgrade в российских условиях - редкость. Обычно это выливается в написание нового приложения. Как следствие, переносится не код, а логика. Т.е. исходные имена объектов в "старой" версии не так уж и важны

3) Если имя кастомизированного объекта совпало с именем стандартного объекта в новом фиксе, то это повод пересмотреть логику использования данного объекта.


Цель: Идентификация компании/модуля/разработчика/фикса (в зависимости от того, что "шифруют" в префиксе) с целью последующего "разбора полетов"

Возражение:

1) Для идентификации автора объекта существует ряд других способов, не связанных с именованием объектов

2) Если проблема, связанная с объектом выявляется достаточно быстро, то и так все знают, кто автор. А если проблема выявляется не сразу, то на момент обнаружения проблемы уже не важно, кто автор. Надо проблему решать, а не искать крайнего

3) Префикс фиксирует момент создания объекта, а при "разборе полетов" требуется определить всю цепочку изменений, приведших к текущему состоянию объекта. Не переименовывать же объект после каждой модификации!

4) Если в префиксе "шифруется" разработчик или код фикса, то возникают проблемы при модификации подобного объекта. Ведь его префикс перестает соответствовать содержанию.

5) Если в префиксе "шифруется" компания, для которой сделана кастомизация, то возникает проблема при портировании решения для других компаний. Безотносительно к правовой стороне данного вопроса. Префикс перестает соответствовать содержанию.

Если же рассматривать правовую сторону подобного портирования, то она решается внепрограммными средствами. Префикс не может рассматриваться как предмет авторского права.

6) "Шифрование" в префиксе модуля оправдано только в случае, если это действительно отдельный независимый модуль. Но, в этом случае использование префикса фактически совпадает со "стандартной" идеологией именования объектов в системе Axapta. "А если нет разницы, то зачем...?" (с)


Цель: Идентификация кода модификаций в именах проектов

Возражение: Это единственный случай, который не вызывает существенных возражений Есть "придирка", а не возражение.

В случае многочисленных модификаций придется поднимать все проекты, в которые включен данный объект

Впрочем, это все-равно удобно. В случе поддержания правил вставки комментариев в код X++ можно определить имя проекта и посмотреть все объекты, включенные в данный проект. Сразу видно, что еще было изменено в данном проекте.

Хотя, данный способ использования можно считать "вне темы", поскольку к именованию объектов АОТ он не относится.


Цель: Модификации с одинаковым префиксом располагаются в АОТ рядом. Удобнее искать

Возражение:

1) Удобно, пока общее количество объектов относительно небольшое. При большом количестве объектов это уже существенного влияния не оказывает

2) Если объекты относятся к разным модулям, то поиск усложняется, поскольку объект оказывается далеко от стандартных объектов данного модуля. Необходим "двойной" поиск. Сначала по именам без префиксов, потом по именам с префиксами. Вне зависимости от того, нашли или нет что-то по поиску без префиксов. Если есть несколько префиксов, то надо будет выполнять поиск по каждому префиксу в отдельности.


Цель: "Расширение" одноименных объектов (дополнительные поля таблиц) или их локализация

Возражение: Для этой цели удобнее использовать суффиксы. Не нарушается стандартная идеология именования объектов и объекты оказываются рядом в АОТ


Дополнительные проблемы

1) В случае многочисленных кастомизаций будет много разных префиксов. Как следствие, возникают сложности в поиске и идентификации нужных объектов

2) Наличие префиксов - это паралельный стандарт именования объектов. Паралельный тому, который не явно предлагают разработчики Axapta. Как следствие, возникает необходимость поддержания нескольких стандартов именования. Чем их больше, тем сложнее.

3) Усложняется процесс вхождения в курс дела нового сотрудника. Ему нужно изучить "двойные стандарты" именования

4) Потенциально способствует дублированию функционала. Ну, не нашел нужного объекта (забыл про префикс) и создал свой собственный
За это сообщение автора поблагодарили: mazzy (5), fed (2), glibs (3), dn (2), CDR (1), Pustik (2), sukhanchik (2), lev (2), oip (5), gl00mie (2), ikopyl (4), S.Kuskov (3), kornix (2).
Старый 28.01.2011, 11:01   #106  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,649 / 1146 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Наиболее вероятная причина рекомендации по использованию префиксов в ранних версиях Axapta описана здесь

Syntax errors в sys-объектах

Т.е. это попытка организационными средствами исправить "небрежность" программирования. Небрежность как на уровне ядра системы, так и на уровне написания кода.
Старый 13.11.2012, 22:26   #107  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Вот что написано в inside Dynamics Ax 2012
"При написании дополнительной функциональности, в дополнение к следованию конвенции по именованию, следует добавить еще один префикс, который уникально идентифицирует ваше решение. Этот дополнительный префикс поможет
предотвратить конфликт имен, если ваше решение будет работать с решениями из других источников. Рассматривайте префикс как идентификатор компании и решения. Например, если компания под названием
MyCorp строит решение начисления заработной платы, то будет использовать префикс McPR у всех добавляемых элементах.
"
__________________
Axapta book for developer
Старый 13.11.2012, 23:12   #108  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
По-моему, не стоит рассматривать эту книгу как истину в последней инстанции, тем более, что в этом вопросе она противоречит последним выпускам BP. Кроме того, пример в книге не очень удачный: если компания разработывает модуль начисления зарплаты и в соответствии с BP использует префикс модуля в именах своих объектов, то как-то слабо представляется, что в одном приложении будут "жить" несколько модулей с такой же функциональностью и, соотв., таким же префиксом модуля в названиях объектов приложения. А если такой модуль будет один, то и кодировать название его компании-разработчика в префиксе ни к чему.
Старый 13.11.2012, 23:24   #109  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Кроме того, пример в книге не очень удачный: если компания разработывает модуль начисления зарплаты и в соответствии с BP использует префикс модуля в именах своих объектов, то как-то слабо представляется, что в одном приложении будут "жить" несколько модулей с такой же функциональностью и, соотв., таким же префиксом модуля в названиях объектов приложения
А вот добавленные поля \ методы на стандартных объектах от разных add-on-ов - запросто (у нас к примеру куплено три + наш код). А ну как пересекутся - и что делать ? Свои я допустим переименую, а с партнерскими что делать ? Нафиг-нафиг, используйте префиксы
__________________
-ТСЯ или -ТЬСЯ ?
Старый 13.11.2012, 23:24   #110  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Цитата:
Сообщение от MikeR Посмотреть сообщение
Вот что написано в inside Dynamics Ax 2012
Работаешь над inside Dynamics Ax 2012 ?

Последний раз редактировалось handy-comp; 13.11.2012 в 23:29.
Старый 14.11.2012, 01:20   #111  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
Нафиг-нафиг, используйте префиксы
Тогда уж лучше хотя бы суффиксы
Старый 14.11.2012, 01:28   #112  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Тогда уж лучше хотя бы суффиксы
Пробовали оба варианта. Лично мне удобнее и приятнее работать с префиксами, add-on-описателям с которыми мы работаем вроде как тоже
__________________
-ТСЯ или -ТЬСЯ ?
Старый 14.11.2012, 07:18   #113  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от handy-comp Посмотреть сообщение
Работаешь над inside Dynamics Ax 2012 ?
Есть такое ... работы много, есть интересные утверждения вроде этого
__________________
Axapta book for developer
Старый 14.11.2012, 07:29   #114  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от Vadik Посмотреть сообщение
используйте префиксы
Собственно, поддерживаю!
Как применяли их в трешке, так и сейчас не имеет смысла отказываться или придумывать замену.
__________________
Axapta book for developer
Старый 14.11.2012, 07:38   #115  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,271 / 3465 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от MikeR Посмотреть сообщение
Собственно, поддерживаю!
Как применяли их в трешке, так и сейчас не имеет смысла отказываться или придумывать замену.
Среди такого количества сторонников префиксов - я все же для себя стал сторонником суффиксов (кстати, те же локализаторы - используют суффикс _RU, а не префикс, хотя в ранних разработках был префикс R). Либо вообще - без них (т.к. отличить код всегда можно на уровне слоев, а в некоторых версиях и моделей ).

Вообще, можно будет попробовать устроить голосовалку. Хотя она конечно и не будет сильно показательна (не все ж там проголосуют).

Мне кажется, что, если уж говорить о том, что высказывать это мнение на страницах книги - то нужно его оформить в стиле сообщения Владимира Максимова - т.е. указать плюсы и минусы разного подхода. А выбор оставить на усмотрение читателя.
__________________
Возможно сделать все. Вопрос времени
Старый 14.11.2012, 08:15   #116  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Мне кажется, что, если уж говорить о том, что высказывать это мнение на страницах книги - то нужно его оформить в стиле сообщения Владимира Максимова - т.е. указать плюсы и минусы разного подхода. А выбор оставить на усмотрение читателя.
Я постарался донести сообществу, еще один взгляд авторов новой книги, и признаться честно, мне более симпатичный и логичный.
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
то нужно его оформить в стиле сообщения Владимира Максимова
В азах по сео утверждается, что резюмированный взгляд на вещи всегда более ценен, чем все высказанные мысли вместе взятые, какими оригинальными они не были.
__________________
Axapta book for developer

Последний раз редактировалось MikeR; 14.11.2012 в 08:19.
Старый 14.11.2012, 09:13   #117  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 915 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от MikeR Посмотреть сообщение
В азах по сео утверждается, что резюмированный взгляд на вещи всегда более ценен, чем все высказанные мысли вместе взятые, какими оригинальными они не были.
Прошу прощения, а что имеется в виду под "сео"? Очень слово "всегда" режет.
__________________
Isn't it nice when things just work?
Старый 14.11.2012, 10:43   #118  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Я использовал, как термин поисковой оптимизации, в частности в некоторых руководствах описывается, как грамотно писать тексты, что бы они попадали в топ выдачи. Здесь же используется смысл грамотно оформленных комментариев, с получением максимально возможных одобрений, извиняюсь за сумбурность.
__________________
Axapta book for developer
Старый 14.11.2012, 11:14   #119  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от MikeR Посмотреть сообщение
Я использовал, как термин поисковой оптимизации
Это SEO
__________________
-ТСЯ или -ТЬСЯ ?
Старый 14.11.2012, 11:27   #120  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
642 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
Это SEO
Сейчас это уже то же самое, что назвать Internet интернетом. Не стоит запариваться по этому поводу.
__________________
// no comments
Теги
как правильно, полезное, 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, время: 06:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.