19.02.2013, 14:17 | #161 |
Участник
|
Цитата:
Цитата:
Если хорошенько подумать, то префиксы - зло. (Как и обратная венгерская запись) |
|
|
За это сообщение автора поблагодарили: Maxim Gorbunov (2). |
19.02.2013, 14:25 | #162 |
Участник
|
Цитата:
префиксы хорошо работают для одного разработчика префиксы ужасны, если несколько разработчиков в одном приложении ставят разные префиксы (например, разработчики из разных компаний) |
|
19.02.2013, 14:31 | #163 |
Участник
|
mazzy, я согласен с вами
Я всегда следую правилам того ведущего разработчика, который ведет проект. В проектах, которые я веду, префикс "z" |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
19.02.2013, 15:20 | #164 |
Модератор
|
Цитата:
Цитата:
Если я не добавлю второй префикс "XYZ", то потом забуду, что это именно я добавил этот метод. Бывает, приходится через полгода возвращаться к забытым доработкам, а префиксы помогают быстро разобраться.
Цитата:
префиксы хорошо работают для одного разработчика
префиксы ужасны, если несколько разработчиков в одном приложении ставят разные префиксы (например, разработчики из разных компаний) - "нам так удобно" - "нет, так всем ужасно неудобно, и вам тоже" Noted. Спасибо всем высказавшимся
__________________
-ТСЯ или -ТЬСЯ ? |
|
19.02.2013, 17:19 | #165 |
Участник
|
Цитата:
По Best Practices имя объекта - это идентификация модуля + идентификация функциональности У Вас, в данном конкретном случае, имя аддона совпало с идентификацией модуля. По сути для Вас аддон заменил собой модуль. Имя аддона выполняет функцию имени модуля. Именно поэтому Вы и не видите разницы. Однако зачастую имя аддона - это всего-лишь идентификация того, кто именно создал объект (ну, или кто "владелец" объекта). Сама по себе эта информация интереса не представляет. Именно поэтому и возникают вопросы. Совершенно лишняя информация, но без знания которой невозможно выполнить поиск объекта.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
21.02.2013, 13:28 | #166 |
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). |
21.02.2013, 13:33 | #167 |
Administrator
|
Полностью поддерживаю. Для меня это главный вывод данной темы
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
21.02.2013, 14:59 | #168 |
Британский учённый
|
Цитата:
Сообщение от Maxim Gorbunov
А допустим приходит новый программист без опыта работы в твоём приложении, и надо ему найти, почему поле в таблице неправильно инициализируется. По-моему, ему гораздо удобнее будет, если все initFrom будут рядом сгруппированы, чем если придётся по списку методов скакать туда обратно, чтобы их все найти, нет? А учитывая, что таких таблиц, вероятно, много...
Цитата:
Сообщение от Maxim Gorbunov
По поводу методов, которые в разных адд-онах могут называться одинаково - извини, тоже не убедительно. Если адд-оны затрагивают одну и ту же область стандартного приложения, такие методы в любом случае будут, используешь ты префиксы или нет. Стандартные методы вроде modifiedField(), insert(), update() и т.п. ты же всё равно не сможешь переименовать. А для добавленных методов мне кажутся удобнее суффиксы - просто привычка уже есть, когда по имени метода ты понимаешь, что именно он делает, а не с какими данными. То есть, SalesLine.modifiedFIeldDDC() мне лично понятнее, чем SalesLine.ddcModifiedField().
Мой вывод данной темы, некоторые не умеют готовить преффиксы
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
21.02.2013, 16:58 | #169 |
Administrator
|
Цитата:
Цитата:
Так научите
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
21.02.2013, 17:01 | #170 |
Участник
|
Цитата:
Зато когда куча аддонов и модов любителями префиксов, а таблицы с одинаковым названием - вот весело, пока вспомнишь какой префикс или его найдешь... А вот по названию таблицы, метода, класса - найти проще, потом выбирает нужную по суффиксу - все в шоколаде. |
|
21.02.2013, 17:28 | #171 |
Британский учённый
|
Цитата:
Почему не префиксы? А ну да, потому что сортировка нарушается ) МС как раз курс делают по префиксами и суффиксам, даже сертификат отдельный будет
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
21.02.2013, 17:32 | #172 |
Британский учённый
|
У вас там рабочая ЕРП система или песочница?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
21.02.2013, 18:28 | #173 |
Участник
|
Посмотрите скрин, который привел Vadik. Предположим, мне надо найти метод, который инициализирует данные. По Best Practices подобные методы называются initFromXXX.
Если префикса нет, то я встаю на первый метод класса и на клавиатуре начинаю набирать фразу "initFrom". Сразу вижу все методы, которые начинаются с этой фразы Если префикс есть, то поиск по горячим клавишам - бесполезен. Я должен использовать Ctrl+F (это внутри методов ОДНОГО класса (!)). Никак не могу согласиться, что использование Ctrl+F (перекрестных ссылок, проектов) в данном случае - удобнее. Цитата:
Сообщение от Link;
У вас там рабочая ЕРП система или песочница?
Вы исходите из предположения, что количество префиксов ограничено и Вы уже все их выучили. Но в общем случае оба допущения ошибочны.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
21.02.2013, 19:34 | #174 |
Administrator
|
Поясняю: разница в том, что использование префиксов не добавляет новых механизмов для поиска, но точно не позволяет использовать один из имевшихся старых.
На остальное отвечать, пожалуй, не буду, пока тема ещё не в курилке.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
21.02.2013, 21:34 | #175 |
Модератор
|
У меня немало времени ушло сначала на то чтобы привыкнуть, а потом - понять
Цитата:
Вот тебе хорошо, ты знаешь, какой адд-он за что отвечает. А допустим приходит новый программист без опыта работы в твоём приложении, и надо ему найти, почему поле в таблице неправильно инициализируется. По-моему, ему гораздо удобнее будет, если все initFrom будут рядом сгруппированы, чем если придётся по списку методов скакать туда обратно, чтобы их все найти, нет?
Цитата:
По поводу методов, которые в разных адд-онах могут называться одинаково - извини, тоже не убедительно
Я сейчас работаю на стороне клиента и для меня необходимость минимизировать (насколько это возможно) конфликты при слиянии нескольких решений разрабатываемых независимыми группами (Microsoft, вендоры и внутренняя команда разработчиков) - не перфекционизм и не прихоть, а суровая необходимость. Наши вендоры это к счастью понимают. Как они этого добиваются - отдельная песня, и суффиксы-префиксы здесь только то что на поверхности. Я вам больше скажу - один настолько продвинут, что модифицирует только минимум стандартных методов, там где нужно в середину метода вклиниться, все остальное - на event handler-ах, что ему затратнее зато апгрейд и слияние кода для меня как пользоватеоя как правило на автомате проходит. Кто-нибудь уже делал апгрейд с 2012 RTM на R2 ? Так вот - у меня он занял один человеко-день (9 часов, а не 24 - это так, на всякий случай). По той же причине он может мне промежуточные билды моделями хоть несколько раз в неделю присылать, а я - устанавливать. Понятно что этот подход работает для тиражируемых решений (одно решение - сто клиентов и основная маржа - с продаж и от партнеров), а для самописок - нет Вот и все
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 21.02.2013 в 22:31. Причина: немного смягчил углы :) |
|
22.02.2013, 13:35 | #176 |
Британский учённый
|
Цитата:
Сообщение от Владимир Максимов
Посмотрите скрин, который привел Vadik. Предположим, мне надо найти метод, который инициализирует данные. По Best Practices подобные методы называются initFromXXX.
Если префикса нет, то я встаю на первый метод класса и на клавиатуре начинаю набирать фразу "initFrom". Сразу вижу все методы, которые начинаются с этой фразы Если префикс есть, то поиск по горячим клавишам - бесполезен. Я должен использовать Ctrl+F (это внутри методов ОДНОГО класса (!)). Никак не могу согласиться, что использование Ctrl+F (перекрестных ссылок, проектов) в данном случае - удобнее. Цитата:
Сообщение от Владимир Максимов
Пока количество префиксов один..два с этим еще можно мириться. Но когда их общее количество переваливает за десяток, начинаются проблемы...
Вы исходите из предположения, что количество префиксов ограничено и Вы уже все их выучили. Но в общем случае оба допущения ошибочны.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
22.02.2013, 13:42 | #177 |
Британский учённый
|
Спасибо, но все доводы в защиту суффиксов сводятся, только к личному удобству и предпочтению (сортировка vs группировка). Я вижу только одну возможную проблему - если в приложении используются оба подхода одновременно, вот тогда будет действительно неудобно.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
22.02.2013, 15:31 | #178 |
Гость
|
Цитата:
Сообщение от Владимир Максимов
Посмотрите скрин, который привел Vadik. Предположим, мне надо найти метод, который инициализирует данные. По Best Practices подобные методы называются initFromXXX.
Если префикса нет, то я встаю на первый метод класса и на клавиатуре начинаю набирать фразу "initFrom". Сразу вижу все методы, которые начинаются с этой фразы Но это не говорит о том, что любое применение префикса - зло. Хотелось бы услышать в чем их зло для названий новых типов, таблиц, форм. Допустим аддон (модуль) обозначаем Trololo. Таблица TrololoBestTable, тогда initFrom будет выглядеть как initFromTrololoBestTable, все initFrom рядом и ссылка на модуль Trololo в наличии. В AOT все объекты модуля Trololo рядом, все счастливы. Может стоит изобличать лишь отдельные перегибы в использовании префиксов, а не социалистическую систему в целом? |
|
22.02.2013, 15:47 | #179 |
Гость
|
А вот гипотетический пример применения суффиксов:
ParametersInvent ParametersCust ParametersVend ParametersSales ParametersSmm ParametersProd ParametersBank и т.д. видите как удобно, все параметры в одном месте вопрос к апологетам суффиксов - вас не напрягает, что разработчики стандарта применяли названия модулей в качестве префиксов, а не суффиксов? может запрос написать в Microsoft, пусть поменяют |
|
22.02.2013, 17:53 | #180 |
Участник
|
Кирилл, никто не против стандартной нотации, где сначала идет префикс "модуля" / "области". Так что ваши примеры - ничуть не против позиции за "суффиксы". Основная проблема, которую видят сторонники суффиксов - это когда префиксом является название компании / разработчика / решения (не модуля).
__________________
Ivanhoe as is.. |
|