|
![]() |
#1 |
Модератор
|
Цитата:
![]() Цитата:
В своих решениях КОРУС не использует искусственные префиксы и суффиксы, работаем в стандартной нотации - префиксы используются только для областей
Цитата:
Сообщение от mazzy
почему именно префиксы, а не суффиксы?
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Vadik
![]() Ну, я бы не стал на самом деле это выпячивать. Если Я Ваш клиент и использую только Ваши решения - мне как правило фиолетово, каких naming conventions вы там придерживаетесь. Допустим, я в нагрузку к Вашему замечательному решению прикупил еще одно и БАЦ - надцать объектов \ методов \ полей пересеклись по именам.. Оба решения несколько лет на рынке, клиентская база есть, никто для меня ничего переименовывать не будет ("у нас все работает") - куда бежать жаловаться ? Поймите же, это уже не вопрос Вашего эстетического восприятия - это забота о клиенте прежде всего
![]() ![]() Цитата:
Сообщение от Vadik
![]() С префиксами поля \ методы от каждого аддона сгруппированы (рядышком лежат) при алфавитной сортировке в AOT (очень удобно в AX 2012), сразу понятно что где искать ("был какой-то метод из аддона А на SalesFormLetter, название не помню но сразу определю если начну набирать в Intellisence XXX_construct")
![]()
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
![]() |
#3 |
Модератор
|
Ну зачем же в отдельной-то.. Давайте уж тут мою проблему ("не используем суффиксы-префиксы.. купили два аддона") и пообсуждаем
![]() Цитата:
Забота о клиенте - не врать ему . Не обещать, что Ваше решение заработает "из коробки"
Цитата:
Проговаривать с клиентом каждую модификацию и последствия (даже если "просто добавить галочку на форму")
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#4 |
Участник
|
Цитата:
Объекты аддонов все равно удобнее в проекты отфильтровывать. |
|
![]() |
#5 |
Участник
|
Цитата:
![]() тут еще в примере с 2 решениями - при использовании префиксов при просмотре таблицы вы сразу увидите какие поля добавляет этот аддон. при использовании суффиксов в 2012 все поля будут раскиданы и для больших таблиц фиг поймешь что к чему относится, а утилита сравнения вам модель не покажет не самая конечно нужная функция, но зачем выбирать решение которое априори вас в чем-то ограничивает ![]() |
|
|
За это сообщение автора поблагодарили: Vadik (1). |
![]() |
#6 |
Модератор
|
Я такой человек - мне чтобы понять надо увидеть. Покажи что и как у тебя сгруппировано. У меня - вот так (все компактно и аккукратно). Есть и объекты с кастомизациями из обоих аддонов плюс наши, к сожалению не смог сделать скриншот который бы показал все три группы не занимая весь экран
Цитата:
Объекты аддонов все равно удобнее в проекты отфильтровывать
Не вижу повода устраивать холивар на тему преимущества префиксов над суффиксами, это дело вкуса в конце концов, но если вендор не использует ни того ни другого я бы задумался о том как он позиционирует свое решение - как коробочный продукт или все же одноразовую поделку
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#7 |
Участник
|
Цитата:
А сама тема была создана исходя из допущения, что заранее НЕ известно, о каком именно аддоне идет речь, но известно о каком именно модуле Axapta. И как в этом случае искать нужный объект? Стандартный сценарий поиска по Best Practices (по имени модуля) в этом случае не годится. Приходится "изобретать велосипед" и создавать собственный функционал поиска. И, кстати, а когда знание того, к какому именно аддону относится тот или иной объект имеет существенное значение для выполнения модификации? Ведь Вы исходите из предположения, что СНАЧАЛА надо определится с именем аддона, а ПОТОМ с функциональностью (модулем Axapta). Вот мне и интересно когда, в каких случаях, это имеет принципиальное (первостепенное) значение? Разве при сопровождении приложения так уж важно каким образом объект попал в АОТ? Разве не важнее знать какую функцию этот объект выполняет (к какому модулю относится)?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#8 |
Модератор
|
Цитата:
![]() Цитата:
И, кстати, а когда знание того, к какому именно аддону относится тот или иной объект имеет существенное значение для выполнения модификации?
Цитата:
Разве при сопровождении приложения так уж важно каким образом объект попал в АОТ? Разве не важнее знать какую функцию этот объект выполняет (к какому модулю относится)?
![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#9 |
Участник
|
Цитата:
По Best Practices имя объекта - это идентификация модуля + идентификация функциональности У Вас, в данном конкретном случае, имя аддона совпало с идентификацией модуля. По сути для Вас аддон заменил собой модуль. Имя аддона выполняет функцию имени модуля. Именно поэтому Вы и не видите разницы. Однако зачастую имя аддона - это всего-лишь идентификация того, кто именно создал объект (ну, или кто "владелец" объекта). Сама по себе эта информация интереса не представляет. Именно поэтому и возникают вопросы. Совершенно лишняя информация, но без знания которой невозможно выполнить поиск объекта.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#10 |
Участник
|
Цитата:
во-вторых, здесь тоже используют "префиксы". Хотя лично мне больше нравятся суффиксы. Но я привел пример с суффиксами. 1. обрати внимание, что объекты группируются по имени модуля. В списке есть и мои объекты (не выведены на скриншот из-за NDA) 2. можно фильтровать и по суффиксам. Я написал и вывел тестовый job в группу. 3. Обрати внимание на фильтры. Все просто Цитата:
Обрати внимание, что у тебя объекты находятся в разных местах. Если речь идет о конечном клиенте, то у него будут таблицы в разных местах списка "DDD_Codes.KKK_XXX_LL_OKVED. (где ККК, ХХХ, LL - префиксы)" Помнить все эти префиксы - очень сложно, если ты работаешь на клиенте, а не у партнера, где есть только свое решение. Впрочем, я об этом уже писал в первом сообщении этой ветки |
|
![]() |
#11 |
Administrator
|
Цитата:
Сообщение от Vadik
![]() Я такой человек - мне чтобы понять надо увидеть. Покажи что и как у тебя сгруппировано. У меня - вот так (все компактно и аккукратно). Есть и объекты с кастомизациями из обоих аддонов плюс наши, к сожалению не смог сделать скриншот который бы показал все три группы не занимая весь экран
![]() Вот тебе хорошо, ты знаешь, какой адд-он за что отвечает. А допустим приходит новый программист без опыта работы в твоём приложении, и надо ему найти, почему поле в таблице неправильно инициализируется. По-моему, ему гораздо удобнее будет, если все initFrom будут рядом сгруппированы, чем если придётся по списку методов скакать туда обратно, чтобы их все найти, нет? А учитывая, что таких таблиц, вероятно, много... ![]() По поводу методов, которые в разных адд-онах могут называться одинаково - извини, тоже не убедительно. Если адд-оны затрагивают одну и ту же область стандартного приложения, такие методы в любом случае будут, используешь ты префиксы или нет. Стандартные методы вроде modifiedField(), insert(), update() и т.п. ты же всё равно не сможешь переименовать. А для добавленных методов мне кажутся удобнее суффиксы - просто привычка уже есть, когда по имени метода ты понимаешь, что именно он делает, а не с какими данными. То есть, SalesLine.modifiedFIeldDDC() мне лично понятнее, чем SalesLine.ddcModifiedField().
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Владимир Максимов (5). |
![]() |
#12 |
Британский учённый
|
Цитата:
Сообщение от Maxim Gorbunov
![]() А допустим приходит новый программист без опыта работы в твоём приложении, и надо ему найти, почему поле в таблице неправильно инициализируется. По-моему, ему гораздо удобнее будет, если все initFrom будут рядом сгруппированы, чем если придётся по списку методов скакать туда обратно, чтобы их все найти, нет? А учитывая, что таких таблиц, вероятно, много...
![]() Цитата:
Сообщение от Maxim Gorbunov
![]() По поводу методов, которые в разных адд-онах могут называться одинаково - извини, тоже не убедительно. Если адд-оны затрагивают одну и ту же область стандартного приложения, такие методы в любом случае будут, используешь ты префиксы или нет. Стандартные методы вроде modifiedField(), insert(), update() и т.п. ты же всё равно не сможешь переименовать. А для добавленных методов мне кажутся удобнее суффиксы - просто привычка уже есть, когда по имени метода ты понимаешь, что именно он делает, а не с какими данными. То есть, SalesLine.modifiedFIeldDDC() мне лично понятнее, чем SalesLine.ddcModifiedField().
Мой вывод данной темы, некоторые не умеют готовить преффиксы ![]()
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#13 |
Administrator
|
Цитата:
Цитата:
Так научите ![]()
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#14 |
Британский учённый
|
Цитата:
![]() Почему не префиксы? А ну да, потому что сортировка нарушается ) МС как раз курс делают по префиксами и суффиксам, даже сертификат отдельный будет ![]()
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#15 |
Участник
|
Цитата:
![]() Зато когда куча аддонов и модов любителями префиксов, а таблицы с одинаковым названием - вот весело, пока вспомнишь какой префикс или его найдешь... А вот по названию таблицы, метода, класса - найти проще, потом выбирает нужную по суффиксу - все в шоколаде. ![]() |
|
![]() |
#16 |
Британский учённый
|
Цитата:
![]()
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#17 |
Модератор
|
У меня немало времени ушло сначала на то чтобы привыкнуть, а потом - понять
![]() Цитата:
Вот тебе хорошо, ты знаешь, какой адд-он за что отвечает. А допустим приходит новый программист без опыта работы в твоём приложении, и надо ему найти, почему поле в таблице неправильно инициализируется. По-моему, ему гораздо удобнее будет, если все initFrom будут рядом сгруппированы, чем если придётся по списку методов скакать туда обратно, чтобы их все найти, нет?
![]() Цитата:
По поводу методов, которые в разных адд-онах могут называться одинаково - извини, тоже не убедительно
Я сейчас работаю на стороне клиента и для меня необходимость минимизировать (насколько это возможно) конфликты при слиянии нескольких решений разрабатываемых независимыми группами (Microsoft, вендоры и внутренняя команда разработчиков) - не перфекционизм и не прихоть, а суровая необходимость. Наши вендоры это к счастью понимают. Как они этого добиваются - отдельная песня, и суффиксы-префиксы здесь только то что на поверхности. Я вам больше скажу - один настолько продвинут, что модифицирует только минимум стандартных методов, там где нужно в середину метода вклиниться, все остальное - на event handler-ах, что ему затратнее зато апгрейд и слияние кода для меня как пользоватеоя как правило на автомате проходит. Кто-нибудь уже делал апгрейд с 2012 RTM на R2 ? Так вот - у меня он занял один человеко-день (9 часов, а не 24 - это так, на всякий случай). По той же причине он может мне промежуточные билды моделями хоть несколько раз в неделю присылать, а я - устанавливать. Понятно что этот подход работает для тиражируемых решений (одно решение - сто клиентов и основная маржа - с продаж и от партнеров), а для самописок - нет Вот и все ![]()
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 21.02.2013 в 22:31. Причина: немного смягчил углы :) |
|