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

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

Возражение:

1) Для идентификации автора объекта существует ряд других способов, не связанных с именованием объектов
Что это? Слои? Комментарии в коде? Createdby в свойствах объекта? Придуманный программистом лог изменения объектов?
Наверное, все-таки, в бытовых случаях пользоваться стандартным поиском по АОТ удобно, где префиксы доминируют.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 15.11.2012, 09:13   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Роберт Мартин - Чистый код. Создание, анализ и рефакторинг
__________________
// no comments
Старый 15.11.2012, 15:31   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Pustik Посмотреть сообщение
Что это? Слои? Комментарии в коде? Createdby в свойствах объекта? Придуманный программистом лог изменения объектов?
Вот видите, сколько способов Вы уже нашли! При этом никакой префикс Вам не понадобился.

Цитата:
Сообщение от Pustik Посмотреть сообщение
Наверное, все-таки, в бытовых случаях пользоваться стандартным поиском по АОТ удобно, где префиксы доминируют.
Предположим, у Вас есть такие объекты

InventTable
XXX_InventTable
YYY_InventTable
ZZZ_InventTable

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

На всякий случай уточню. Сама идея префиксов предполагает поиск только и исключительно в алфавитном порядке и никак иначе! Поскольку для всех других способов поиска в AOT факт наличия или отсутствия префикса никакого значения не имеет.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 16.11.2012, 19:30   #4  
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.
Старый 16.11.2012, 20:50   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Pustik Посмотреть сообщение
Я, думаю, что будет удобно. : *InventTable* . А далее, как говорится , вопрос техники. И я, точно буду знать, что впереди стоит не ВасяПетров_inventTable, а, к примеру, Затраты на ремонт оборудования_*******.
Я имел в виду поиск не через Ctrl+F, а поиск по горячим клавишам. Т.е., например, встать на начало узла Tables и начать набирать символы "InventTable". Указатель автоматически перейдет на узел, имя которого начинается с этих символов.

Через Ctrl+F, как правило, вываливается "вагон и маленькая тележка" найденных значений, где потом еще дополнительно надо как-то искать.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: sukhanchik (5), LeonDerCom (1).
Старый 17.11.2012, 07:37   #6  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Владимир Максимов, спустили на землю)). Не часто этим пользуюсь, потому что все оформлено в проектах. Любой вопрос от пользователя для меня начинается с проекта. Все лежит в голове.
Для поиска таблиц и других объектов использую специальную форму.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 17.11.2012 в 07:57.
Старый 19.11.2012, 19:54   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Pustik Посмотреть сообщение
Не часто этим пользуюсь, потому что все оформлено в проектах. Любой вопрос от пользователя для меня начинается с проекта.
"И это правильно!" (с)

Насколько я понимаю, закачка "чужих" решений выполняется через проекты. Проект - это нечто, лежащее вне AOT. Как следствие, здесь фантазия разработчиков в именовании собственно проекта ничем не ограничена. Префиксы, суффиксы, порядковые номера и т.д. и т.п. Да все, что угодно!

Имя проекта никак, никоим образом, не нарушает "стандарт" именования объектов Axapta. Это уже сами разрабатываете свои внутренние стандарты именования проектов. С Best Practices это уже не пересекается. Более того, никто не мешает в любой момент переименовать проект, если имя показалось не удачным.

В этом случае, если надо найти объект полученный от стороннего разработчика, открываем проект, через который все модификации и были импортированы. Все сразу и видим.

Но если задача обратная. Не известно (не помню!), кто именно создал (модифицировал) тот или иной объект, но известно к какому модулю он относится. То здесь поиск идет именно по AOT (по горячим клавишам в алфавитном порядке) и префиксы явно мешают.

Цитата:
Сообщение от Pustik Посмотреть сообщение
Все лежит в голове.
Для поиска таблиц и других объектов использую специальную форму.
Это и есть две основные проблемы, которые появляются, если есть префиксы у объектов AOT и поиск идет именно по ним.

1. Новый сотрудник не может залезть к тебе в голову. Ему придется кроме Best Practices изучать еще несколько стандартов именований объектов от сторонних разработчиков. Хуже того, в случае дополнительных модификаций, всем этим стандартам придется следовать!

2. Стандартные механизмы поиска объектов по горячим клавишам - перестают работать. Приходится мастерить собственные "поделки". Т.е. сами себе создаем трудности, а потом начинаем их героически преодолевать.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 19.11.2012, 13:13   #8  
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   #9  
LeonDerCom is offline
LeonDerCom
Участник
 
45 / 20 (1) +++
Регистрация: 08.10.2012
Цитата:
Сообщение от Pustik Посмотреть сообщение
Что это? Слои? Комментарии в коде? Createdby в свойствах объекта? Придуманный программистом лог изменения объектов?
Наверное, все-таки, в бытовых случаях пользоваться стандартным поиском по АОТ удобно, где префиксы доминируют.
А если модуль создавался еще при царе Горохе и тут новое начальство решило внедрить или модифицировать? Менять префикс на нового автора, а потом вспоминать кто и какой модуль модифицировал... Для таких вещей удобней использовать CreateBy или сразу коментарием в classDeclaration? А информацию для идентификации организации и т.д. преписать суффиксом и тогда при поиске вам будет намного проще.
И полностью солидарен с Владимиром Максимовым.
Старый 19.11.2012, 13:25   #10  
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. Ну а программистов будить нельзя вообще.
Старый 19.11.2012, 14:12   #11  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Link Посмотреть сообщение
Опять таки, с теми же полями, мне куда удобнее набрать ZZZ после точки и увидеть все поля данного решения в стандартной таблице.
Какую задачу вы решаете, набрав ZZZ? Вот по шагам - что нужно сделать в конечном итоге и что вы для этого делаете.

Цитата:
Сообщение от Link Посмотреть сообщение
Очень удобно нахожу использование префикса 'DEV' в тех проектах, что не относятся к функционалу. На сегодняшний день например только 46 классов DEV_* Не представляю как их искать по суффиксам
А вот тут, как раз, очень подходит _стандартный_ подход по использованию префиксов согласно области. DEV* в этом плане аналогичен Invent*, Cust* и т.п.

В своих решениях КОРУС не использует искусственные префиксы и суффиксы, работаем в стандартной нотации - префиксы используются только для областей.
__________________
Ivanhoe as is..
Старый 19.11.2012, 14:43   #12  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Какую задачу вы решаете, набрав ZZZ? Вот по шагам - что нужно сделать в конечном итоге и что вы для этого делаете.
Очевидно, что любая задача в контексте обсуждения сводится к поиску определенного объекта или нескольких объектов Я не могу вспомнить где бы мне помог суффикс при поиске. Обычно, когда я ищу по АОТ кастомизированный объект, то мне известно к какому решению оно относится, стало быть набрав ZZZ я увижу все объекты в алфавитном порядке. Если к примеру я не могу сходу определить нужный, то обычно следующий шаг это поиск по выбранным объектам ZZZ по узлам или коду.
А какую задачу вы бы назвали сравнительно легкой с использованием суффиксов в противоположность использованию префиксов?

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А вот тут, как раз, очень подходит _стандартный_ подход по использованию префиксов согласно области. DEV* в этом плане аналогичен Invent*, Cust* и т.п.

В своих решениях КОРУС не использует искусственные префиксы и суффиксы, работаем в стандартной нотации - префиксы используются только для областей.
Предпочитаю отделять префиксы что бы не было путаницы с модулями. Т.е. все префиксы пишутся как 'XXX_' или 'DEV_' это так же сводит на нет вероятность совпадения имен со стандартными объектами. Так же у нас префиксуются проекты. В проекта еще используем суффикс с номером кейса, например '_RFC_015'. Задача поиска проекта по номеру для меня служит наглядными примером почему суффиксы абсолютно неэффективны при поиске. Тут поможет немножко программирования - а именно простая формочка в которой этот номер будет сохраняться в отдельное поле.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 19.11.2012, 14:57   #13  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Link Посмотреть сообщение
А какую задачу вы бы назвали сравнительно легкой с использованием суффиксов в противоположность использованию префиксов?
Я против и суффиксов, и нестандартных префиксов
Если у вас еще и проект в префиксе, могу только посочувствовать
__________________
Ivanhoe as is..
Старый 19.11.2012, 15:06   #14  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Я против и суффиксов, и нестандартных префиксов
Если у вас еще и проект в префиксе, могу только посочувствовать
Возможно суффиксы и префиксы были бы не нужны, будь у АХ более продвинутый и быстрый поиск по АОТ и проектам. Но при текущих обстоятельствах придерживаюсь такого мнения.

Да, еще у нас все проекты включают суффиксы - номер документа. Это используется для аудита и особого неудобства для разработки не причиняет. Пришлось только прикрутить поиск.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Последний раз редактировалось Link; 19.11.2012 в 15:50.
Теги
как правильно, полезное, 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, время: 02:10.