19.11.2012, 15:47 | #141 |
Участник
|
А я за префиксы.
Зная повадки, рефлексы, образ мышления, восприятие окружающего мира конкретных людей или групп людей, которые разрабатывали модификации с префиксами, мне легче понять, как работает тот или иной кусок кода, написанной этими людьми, или зачем эти люди создали ту или иную таблицу. Например, мне встречались приложения, в которых присутствовали модификации двух и даже более консалтинговых компаний. У некоторых консалтинговых компаний есть определенные наработки, и видя префикс класса, я уже знаю, что есть некий другой класс с таким же префиксом, с помощью которого, например, можно осуществить интеграцию с другой базой, вывести отчет в эксель, или осуществить другие операции, которые уже были разработаны данной консалтинговой компанией. Короче, если мне надо вывести отчет в Эксель, то я смотрю, какие префиксы преобладают в приложении, и если я их узнаю, то я ищу знакомый мне класс для вывода в Эксель. Мне знакомы классы и объекты 4 консалтинговых компаний, и еще нескольких индивидуальных разработчиков |
|
19.11.2012, 19:54 | #142 |
Участник
|
Цитата:
Насколько я понимаю, закачка "чужих" решений выполняется через проекты. Проект - это нечто, лежащее вне AOT. Как следствие, здесь фантазия разработчиков в именовании собственно проекта ничем не ограничена. Префиксы, суффиксы, порядковые номера и т.д. и т.п. Да все, что угодно! Имя проекта никак, никоим образом, не нарушает "стандарт" именования объектов Axapta. Это уже сами разрабатываете свои внутренние стандарты именования проектов. С Best Practices это уже не пересекается. Более того, никто не мешает в любой момент переименовать проект, если имя показалось не удачным. В этом случае, если надо найти объект полученный от стороннего разработчика, открываем проект, через который все модификации и были импортированы. Все сразу и видим. Но если задача обратная. Не известно (не помню!), кто именно создал (модифицировал) тот или иной объект, но известно к какому модулю он относится. То здесь поиск идет именно по AOT (по горячим клавишам в алфавитном порядке) и префиксы явно мешают. Цитата:
1. Новый сотрудник не может залезть к тебе в голову. Ему придется кроме Best Practices изучать еще несколько стандартов именований объектов от сторонних разработчиков. Хуже того, в случае дополнительных модификаций, всем этим стандартам придется следовать! 2. Стандартные механизмы поиска объектов по горячим клавишам - перестают работать. Приходится мастерить собственные "поделки". Т.е. сами себе создаем трудности, а потом начинаем их героически преодолевать.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
20.11.2012, 00:15 | #143 |
Участник
|
Link
Вот именно, что приходится разбираться и запоминать, кто и где когда менял и отвлекать людей, если вдруг чего забыл, а иначе тратим время на поиск. Мало того, до определенного времени были стандартная конфигурация, одни начали модифицировать таблицы и классы - не меняя их имя, а вставляя коментарии в те места кода. Потом пришел другой и говорит - вот Бест Практис от МС говорит, что нужны префиксы - придумал свой и давай. Третий говорит, что он тоже умный и так как его модули идут в другую область - тоже придумал свой префикс и т.д. После приходит человек и видит все это... Полный бардак и каждый раз начинать алфавитный поиск с перебора префиксов, когда знаешь название объекта - лично у меня радости не вызывает. В то время как суффиксы позволяют найти название таблицы и все ее модификации, отличающиеся суффиксами - будут находится рядом в алфавитном порядке. Удобно и легко. Никаких костылей там не нужно. |
|
|
За это сообщение автора поблагодарили: Alexanderis.ua (1). |
20.11.2012, 13:08 | #144 |
Участник
|
Просто чтобы внести и свое мнение (не читая всей ветки) - полностью поддерживаю то, что сказал Белугин во втором посте, и то, как Маззи это просуммировал в третьем.
Рефакторить, чтобы от них избавиться - имхо, нецелесообразно экономически, но если делаете что-то с нуля, думайте перед тем, как добавлять код компании перед названием. Для того, чтобы различить модификацию своей компании от модификации другой компании ныне рекомендуется использовать модели - все ваши изменения будут в отдельной модели. |
|
|
За это сообщение автора поблагодарили: Ivanhoe (1). |
18.02.2013, 15:09 | #145 |
Участник
|
Всю тему не стал читать, дома возможно прочитаю.
Мы на нашем производстве используем суфиксы, но только в тех проектах, которые делаем с нуля, если вносится модификация в стандартные классы, методы - ничего не добавляется. |
|
18.02.2013, 17:46 | #146 |
Участник
|
Цитата:
Сообщение от kashperuk
Рефакторить, чтобы от них избавиться - имхо, нецелесообразно экономически, но если делаете что-то с нуля, думайте перед тем, как добавлять код компании перед названием.
Для того, чтобы различить модификацию своей компании от модификации другой компании ныне рекомендуется использовать модели - все ваши изменения будут в отдельной модели. т.е. как раз делая что-то, что планируется использовать где-то еще, а не на одном проекте префиксы must use ну и модели конечно |
|
18.02.2013, 18:45 | #147 |
Участник
|
почему именно префиксы, а не суффиксы?
|
|
18.02.2013, 20:19 | #148 |
Участник
|
Работаем с одним западным партнером, который все делает с префиксами + внедряем Process Industries (там местами тоже префиксы). Ужасно неудобно!
__________________
Ivanhoe as is.. |
|
18.02.2013, 21:27 | #149 |
Участник
|
Цитата:
Сообщение от trud
Ну неиспользование префиксов при разработке решений может потенциально приподнести большие проблемы. предположим вы купили 2 ISV решения в которых есть таблица PostingParameters или что-то подобное. при этом установка по сути превратится в большую проблему
т.е. как раз делая что-то, что планируется использовать где-то еще, а не на одном проекте префиксы must use ну и модели конечно |
|
18.02.2013, 22:47 | #150 |
Модератор
|
Цитата:
Цитата:
В своих решениях КОРУС не использует искусственные префиксы и суффиксы, работаем в стандартной нотации - префиксы используются только для областей
Цитата:
Сообщение от mazzy
почему именно префиксы, а не суффиксы?
__________________
-ТСЯ или -ТЬСЯ ? |
|
18.02.2013, 22:55 | #151 |
Участник
|
Цитата:
Сообщение от Vadik
Ну, я бы не стал на самом деле это выпячивать. Если Я Ваш клиент и использую только Ваши решения - мне как правило фиолетово, каких naming conventions вы там придерживаетесь. Допустим, я в нагрузку к Вашему замечательному решению прикупил еще одно и БАЦ - надцать объектов \ методов \ полей пересеклись по именам.. Оба решения несколько лет на рынке, клиентская база есть, никто для меня ничего переименовывать не будет ("у нас все работает") - куда бежать жаловаться ? Поймите же, это уже не вопрос Вашего эстетического восприятия - это забота о клиенте прежде всего
Цитата:
Сообщение от Vadik
С префиксами поля \ методы от каждого аддона сгруппированы (рядышком лежат) при алфавитной сортировке в AOT (очень удобно в AX 2012), сразу понятно что где искать ("был какой-то метод из аддона А на SalesFormLetter, название не помню но сразу определю если начну набирать в Intellisence XXX_construct")
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
18.02.2013, 23:17 | #152 |
Модератор
|
Ну зачем же в отдельной-то.. Давайте уж тут мою проблему ("не используем суффиксы-префиксы.. купили два аддона") и пообсуждаем
Цитата:
Забота о клиенте - не врать ему . Не обещать, что Ваше решение заработает "из коробки"
Цитата:
Проговаривать с клиентом каждую модификацию и последствия (даже если "просто добавить галочку на форму")
__________________
-ТСЯ или -ТЬСЯ ? |
|
18.02.2013, 23:50 | #153 |
Участник
|
Цитата:
Объекты аддонов все равно удобнее в проекты отфильтровывать. |
|
19.02.2013, 05:19 | #154 |
Участник
|
Цитата:
тут еще в примере с 2 решениями - при использовании префиксов при просмотре таблицы вы сразу увидите какие поля добавляет этот аддон. при использовании суффиксов в 2012 все поля будут раскиданы и для больших таблиц фиг поймешь что к чему относится, а утилита сравнения вам модель не покажет не самая конечно нужная функция, но зачем выбирать решение которое априори вас в чем-то ограничивает |
|
|
За это сообщение автора поблагодарили: Vadik (1). |
19.02.2013, 12:11 | #155 |
Модератор
|
Я такой человек - мне чтобы понять надо увидеть. Покажи что и как у тебя сгруппировано. У меня - вот так (все компактно и аккукратно). Есть и объекты с кастомизациями из обоих аддонов плюс наши, к сожалению не смог сделать скриншот который бы показал все три группы не занимая весь экран
Цитата:
Объекты аддонов все равно удобнее в проекты отфильтровывать
Не вижу повода устраивать холивар на тему преимущества префиксов над суффиксами, это дело вкуса в конце концов, но если вендор не использует ни того ни другого я бы задумался о том как он позиционирует свое решение - как коробочный продукт или все же одноразовую поделку
__________________
-ТСЯ или -ТЬСЯ ? |
|
19.02.2013, 12:32 | #156 |
Участник
|
Цитата:
А сама тема была создана исходя из допущения, что заранее НЕ известно, о каком именно аддоне идет речь, но известно о каком именно модуле Axapta. И как в этом случае искать нужный объект? Стандартный сценарий поиска по Best Practices (по имени модуля) в этом случае не годится. Приходится "изобретать велосипед" и создавать собственный функционал поиска. И, кстати, а когда знание того, к какому именно аддону относится тот или иной объект имеет существенное значение для выполнения модификации? Ведь Вы исходите из предположения, что СНАЧАЛА надо определится с именем аддона, а ПОТОМ с функциональностью (модулем Axapta). Вот мне и интересно когда, в каких случаях, это имеет принципиальное (первостепенное) значение? Разве при сопровождении приложения так уж важно каким образом объект попал в АОТ? Разве не важнее знать какую функцию этот объект выполняет (к какому модулю относится)?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
19.02.2013, 12:55 | #157 |
Модератор
|
Цитата:
Цитата:
И, кстати, а когда знание того, к какому именно аддону относится тот или иной объект имеет существенное значение для выполнения модификации?
Цитата:
Разве при сопровождении приложения так уж важно каким образом объект попал в АОТ? Разве не важнее знать какую функцию этот объект выполняет (к какому модулю относится)?
__________________
-ТСЯ или -ТЬСЯ ? |
|
19.02.2013, 14:02 | #158 |
Moderator
|
А скажите - вы вот когда про префиксы говорите - вы совсем-совсем исключений не делаете?
Просто мне имена методов типа axInventTable.XYZparmNewField() очень режут глаз. Я уж скорее напишу что-то типа axInventTable.parmXYZNewField() чем префикс перед методом поставлю. |
|
|
За это сообщение автора поблагодарили: mazzy (2), AxPr-r (1). |
19.02.2013, 14:16 | #159 |
Участник
|
Цитата:
во-вторых, здесь тоже используют "префиксы". Хотя лично мне больше нравятся суффиксы. Но я привел пример с суффиксами. 1. обрати внимание, что объекты группируются по имени модуля. В списке есть и мои объекты (не выведены на скриншот из-за NDA) 2. можно фильтровать и по суффиксам. Я написал и вывел тестовый job в группу. 3. Обрати внимание на фильтры. Все просто Цитата:
Обрати внимание, что у тебя объекты находятся в разных местах. Если речь идет о конечном клиенте, то у него будут таблицы в разных местах списка "DDD_Codes.KKK_XXX_LL_OKVED. (где ККК, ХХХ, LL - префиксы)" Помнить все эти префиксы - очень сложно, если ты работаешь на клиенте, а не у партнера, где есть только свое решение. Впрочем, я об этом уже писал в первом сообщении этой ветки |
|
19.02.2013, 14:16 | #160 |
Участник
|
Методы, названия которых начинающиеся с "parm" - особый случай. Я всегда ищу в незнакомом классе методы parm, чтобы передать в него параметры. А если нужного параметра нет, то я добавляю новый метод, и называю его parmXYZNewField().
То есть получается 2 префикса: первый "parm", второй "XYZ" Если я не добавлю второй префикс "XYZ", то потом забуду, что это именно я добавил этот метод. Бывает, приходится через полгода возвращаться к забытым доработкам, а префиксы помогают быстро разобраться. Правда у меня префикс всего из одной буквы "z", так что мне легче. Мои методы выглядят как parmzNewField(). У кого длинные префиксы, тем сложнее. Все зависит от порядка, установленного на каждом конкретном проекте. Практически везде правила разные - у кого-то суффиксы, у кого-то префиксы. Из-за того, что ведущие разработчики разные на разных проектах. В итоге по почерку можно узнать, с какого проекта пришел тот или иной кусок кода. |
|