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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2012, 19:30   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Предположим, у Вас есть такие объекты

InventTable
XXX_InventTable
YYY_InventTable
ZZZ_InventTable

Как Вы думаете, будет ли Вам удобно искать по AOT, если Вы точно не знаете где именно находится то, что Вам нужно?
Я, думаю, что будет удобно. : *InventTable* . А далее, как говорится , вопрос техники. И я, точно буду знать, что впереди стоит не ВасяПетров_inventTable, а, к примеру, Затраты на ремонт оборудования_*******.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 16.11.2012 в 19:42.
Старый 19.11.2012, 13:13   #2  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вот видите, сколько способов Вы уже нашли! При этом никакой префикс Вам не понадобился.

Предположим, у Вас есть такие объекты

InventTable
XXX_InventTable
YYY_InventTable
ZZZ_InventTable

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

На всякий случай уточню. Сама идея префиксов предполагает поиск только и исключительно в алфавитном порядке и никак иначе! Поскольку для всех других способов поиска в AOT факт наличия или отсутствия префикса никакого значения не имеет.
На самом деле тут и с другой стороны можно посмотреть. Например есть у нас 30 таблиц XXX 50 таблиц YYY и еще 20 ZZZ. Набрав в AOT 'ZZZ' мы сразу увидим все таблицы этого решения и уверен очень быстро выберем нужную, не так ли? Мне все же кажется, что количество решений в приложении значительно меньше, нежели количество самих таблиц.
Опять таки, с теми же полями, мне куда удобнее набрать ZZZ после точки и увидеть все поля данного решения в стандартной таблице.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 19.11.2012, 08:51   #3  
LeonDerCom is offline
LeonDerCom
Участник
 
45 / 20 (1) +++
Регистрация: 08.10.2012
Цитата:
Сообщение от Pustik Посмотреть сообщение
Что это? Слои? Комментарии в коде? Createdby в свойствах объекта? Придуманный программистом лог изменения объектов?
Наверное, все-таки, в бытовых случаях пользоваться стандартным поиском по АОТ удобно, где префиксы доминируют.
А если модуль создавался еще при царе Горохе и тут новое начальство решило внедрить или модифицировать? Менять префикс на нового автора, а потом вспоминать кто и какой модуль модифицировал... Для таких вещей удобней использовать CreateBy или сразу коментарием в classDeclaration? А информацию для идентификации организации и т.д. преписать суффиксом и тогда при поиске вам будет намного проще.
И полностью солидарен с Владимиром Максимовым.
Старый 19.11.2012, 13:25   #4  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от LeonDerCom Посмотреть сообщение
А если модуль создавался еще при царе Горохе и тут новое начальство решило внедрить или модифицировать? Менять префикс на нового автора, а потом вспоминать кто и какой модуль модифицировал... Для таких вещей удобней использовать CreateBy или сразу коментарием в classDeclaration? А информацию для идентификации организации и т.д. преписать суффиксом и тогда при поиске вам будет намного проще.
И полностью солидарен с Владимиром Максимовым.
Мне кажется тут решение зависит от ваших целей, задач, методологии и не важно вчера ли этот модуль создавался или 10 лет назад при первом внедрении. Что мешает оставить префикс? Ненужные объекты удаляем, новые или переписанные пишем под своим префиксом. Я например оставлял старые префиксы старых партнеров. При этом все отлично видно, где старые решения, где текущие партнеры, где наша кастомизация. Абсолютно никакой путаницы и удобный поиск элементов по AOT и в коде.
Очень удобно нахожу использование префикса 'DEV' в тех проектах, что не относятся к функционалу. На сегодняшний день например только 46 классов DEV_* Не представляю как их искать по суффиксам
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 22.10.2010, 17:25   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Я понимаю, что данная тема уже сильно разрослать, но мне бы не хотелось по второму кругу еще раз одно и тоже обсуждать. Пожалуй, я присоединюсь к
Цитата:
Сообщение от glibs Посмотреть сообщение
В общем, думаю что я уже пасс дальше обсуждать. Кто прочитает — пусть думает и решает.
Старый 28.01.2011, 11:01   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Наиболее вероятная причина рекомендации по использованию префиксов в ранних версиях Axapta описана здесь

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

Т.е. это попытка организационными средствами исправить "небрежность" программирования. Небрежность как на уровне ядра системы, так и на уровне написания кода.
Старый 13.11.2012, 22:26   #7  
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   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
По-моему, не стоит рассматривать эту книгу как истину в последней инстанции, тем более, что в этом вопросе она противоречит последним выпускам BP. Кроме того, пример в книге не очень удачный: если компания разработывает модуль начисления зарплаты и в соответствии с BP использует префикс модуля в именах своих объектов, то как-то слабо представляется, что в одном приложении будут "жить" несколько модулей с такой же функциональностью и, соотв., таким же префиксом модуля в названиях объектов приложения. А если такой модуль будет один, то и кодировать название его компании-разработчика в префиксе ни к чему.
Старый 13.11.2012, 23:24   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Кроме того, пример в книге не очень удачный: если компания разработывает модуль начисления зарплаты и в соответствии с BP использует префикс модуля в именах своих объектов, то как-то слабо представляется, что в одном приложении будут "жить" несколько модулей с такой же функциональностью и, соотв., таким же префиксом модуля в названиях объектов приложения
А вот добавленные поля \ методы на стандартных объектах от разных add-on-ов - запросто (у нас к примеру куплено три + наш код). А ну как пересекутся - и что делать ? Свои я допустим переименую, а с партнерскими что делать ? Нафиг-нафиг, используйте префиксы
__________________
-ТСЯ или -ТЬСЯ ?
Старый 14.11.2012, 01:20   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
Нафиг-нафиг, используйте префиксы
Тогда уж лучше хотя бы суффиксы
Старый 14.11.2012, 01:28   #11  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Тогда уж лучше хотя бы суффиксы
Пробовали оба варианта. Лично мне удобнее и приятнее работать с префиксами, add-on-описателям с которыми мы работаем вроде как тоже
__________________
-ТСЯ или -ТЬСЯ ?
Старый 14.11.2012, 07:29   #12  
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   #13  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от MikeR Посмотреть сообщение
Собственно, поддерживаю!
Как применяли их в трешке, так и сейчас не имеет смысла отказываться или придумывать замену.
Среди такого количества сторонников префиксов - я все же для себя стал сторонником суффиксов (кстати, те же локализаторы - используют суффикс _RU, а не префикс, хотя в ранних разработках был префикс R). Либо вообще - без них (т.к. отличить код всегда можно на уровне слоев, а в некоторых версиях и моделей ).

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

Мне кажется, что, если уж говорить о том, что высказывать это мнение на страницах книги - то нужно его оформить в стиле сообщения Владимира Максимова - т.е. указать плюсы и минусы разного подхода. А выбор оставить на усмотрение читателя.
__________________
Возможно сделать все. Вопрос времени
Старый 14.11.2012, 08:15   #14  
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, 17:02   #15  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
А вот добавленные поля \ методы на стандартных объектах от разных add-on-ов - запросто (у нас к примеру куплено три + наш код). А ну как пересекутся - и что делать ? Свои я допустим переименую, а с партнерскими что делать ? Нафиг-нафиг, используйте префиксы
Всегда существует не нулевая вероятность того, что два чужих add-on будут иметь одинаковые имена. Здесь не поможет ничто. Ни суффиксы, ни префиксы, ни окончания.

Две физически разные компании - разработчики add-on ничего не знают друг о друге и узнают о совпадении имен только по факту. Когда обе продадут свое решение некой третьей компании.

Как следствие, данная причина никак не может рассматриваться в качестве аргумента за или против префикса. Тут уже имеет смысл давать имена через GUID, чтобы обеспечить уникальность

При этом, наличие префикса пораждает "Дополнительные проблемы" описанные выше
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 14.11.2012, 17:05   #16  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Всегда существует не нулевая вероятность того, что два чужих add-on будут иметь одинаковые имена
Вероятность купить два таких addon-а я все же склонен считать нулевой А если уж купили, скорее уже что-то в консерватории чинить надо
__________________
-ТСЯ или -ТЬСЯ ?
Старый 14.11.2012, 17:37   #17  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
Вероятность купить два таких addon-а я все же склонен считать нулевой
Ну, это-то понятно. Только ведь речь идет не о покупке, а о разработке двумя разными фирмами. Исходная рекомендация в inside Dynamics Ax 2012 адресована именно разработчикам. В случае совпадения имен всем троим участниками придется "раскошелиться". И обоим разработчикам addon-ов и потенциальному покупателю

Префикс - не есть гарантия уникальности в описанном случае. При этом возникают дополнительные проблемы. Как следствие, сам по себе совет становится сомнительным.

Более разумным, с точки зрения уникальности, выглядит именование безо всяких префиксов и суффиксов. Но, по возможности, давать такое имя объекта/метода, чтобы оно отражало его назначение и (или) решаемые задачи

Ведь разные add-on покупаются для решения разных задач. Значит, если имя отражает назначение, а назначение разное, то, скорее всего, и имена будут разные. При этом подобное правило именования вполне себе в рамках Best Practices. Не надо ничего выдумывать сверх того, что уже есть.

Вероятность конфликтов имен в обоих случаях будет примерно одинаковая. Это очень точно описывается рекламным слоганом "Если одинаковые, то зачем?..."
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 13.11.2012, 23:24   #18  
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, 07:18   #19  
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, 18:57   #20  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Буквально сегодня пришлось разбираться с продуктом, достаточно известной партнерской компании. Не тащила фин. аналитики от начальной точки, до конечной. Разрыв соединил на пол пути. За счет префиксов быстрее удалось найти причину. Если небольшой продукт, то достаточно удобно.
А, вообще, интересно было бы использование и того и другого. Предположим, использование префикса можно направить на сокращенное наименование предметной области, а суффикс на идентификатор того, кто это сделал.
Кстати, обратите внимание, что Microsoft оставил приоритет префиксам :
Invent..
Ledger...
Purch...
и т.д.
оставив место для суффиксов.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Теги
как правильно, полезное, 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, время: 17:58.