27.10.2004, 09:19 | #1 |
программист
|
Комментарии удалены?
Добрый день!
По ходу программирования в Axapta появилось предположение что кто-то автоматически удалил все комментарии из кода? Кто? Зачем? На каком этапе? Это только в российской функциональности? |
|
27.10.2004, 10:04 | #2 |
Moderator
|
Хм... и на основе чего возникло такое предположение, если не секрет ?
В основном код достаточно прозрачен и понятен без комментариев, за исключением нескольких мест, где действительно бывает полезна помошь - например, книги покупок/продаж. Комментарии удалялись вряд ли - так как если удалять, то все - а я встречал комментарии как разаботчиков российского mbs, так и международного (включая комментарии на датском ). |
|
27.10.2004, 10:59 | #3 |
Модератор
|
На самом деле, это близко к истине. Дело в том, что многие баги, поправленные локализаторами (основное кол-во - росийскими ) были поправлены уже MBS на более низких слоях. Так что вместо комментариев //EVGL.... //Valu... //GrVe... //ANVA... и т.п. Теперь либо просто прижившийся код, либо чужие или безличные комментарии... // RU-477-814-QBHL, // SP3 DK-68-603-CCR9....
С Уважением, Георгий |
|
27.10.2004, 11:14 | #4 |
программист
|
Цитата:
Изначально опубликовано Андре
Хм... и на основе чего возникло такое предположение, если не секрет ? В основном код достаточно прозрачен и понятен без комментариев, за исключением нескольких мест, где действительно бывает полезна помошь - например, книги покупок/продаж. Комментарии удалялись вряд ли - так как если удалять, то все - а я встречал комментарии как разаботчиков российского mbs, так и международного (включая комментарии на датском ). Дело ведь не в понимании кода вообще, а в элементарной экономии времени разработчика. Могу предположить, что кой кому это не выгодно... С чего я взял что удалили комментарии? Почему в ключевых местах кода ( перед функциями, в начале циклов... ) стоят пустые строки? Только лишь для удобства? Вряд ли.... |
|
27.10.2004, 11:21 | #5 |
Участник
|
>кто-то автоматически удалил все комментарии из кода? Кто? Зачем?
А чтоб потом никто не узнал насколько хорошо KURA или EVGL знали Axapta |
|
27.10.2004, 12:57 | #6 |
Шаман форума
|
Цитата:
Изначально опубликовано Hamster
>кто-то автоматически удалил все комментарии из кода? Кто? Зачем? А чтоб потом никто не узнал насколько хорошо KURA или EVGL знали Axapta |
|
27.10.2004, 12:58 | #7 |
Участник
|
Re: Комментарии удалены?
Цитата:
Изначально опубликовано gudzon
Добрый день! По ходу программирования в Axapta появилось предположение что кто-то автоматически удалил все комментарии из кода? Кто? Зачем? На каком этапе? Это только в российской функциональности? Info.startup() SysApplCheck.argumentThePaths() SysCheckList.* SysListPanel.addData и т.п. Где-то были даже разыернутые описания концепции работы. Почему комментариев так мало? Просто исходные разработчики свято верили в рефакторинг и перекрестные ссылки. http://w8.platonoff.com/refactoring/ Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст. Надо сказать, что если оставить один слой sys, то именно так и происходит. Когда слоев много (много объектов), то уже необходимы не комментарии к коду, а описание СЕМЕЙСТВА классов. Так например, для четкой работы программиста необходимо описание концепции работы семейства LedgerVoucher. А вот такой документации в Аксапте чертовски мало. Именно из-за того, что разрабочики свято верили в рефакторинг. С российской функциональностью было чуть по-другому... |
|
27.10.2004, 15:08 | #8 |
Дмитрий Ерин
|
Re: Re: Комментарии удалены?
Цитата:
Изначально опубликовано mazzy
Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст. Надо сказать, что если оставить один слой sys, то именно так и происходит. Цитата:
Extract Method You have a code fragment that can be grouped together. Turn the fragment into a method whose name explains the purpose of the method 1. В начале метода огромный комментарий (см. первый постулат ) 2. Код метода состоит из 620-и строк (см. второй постулат) P.S. Сергей, только не говори, что исключение подтверждает правило. Аксапта с рефакторингом явно не дружат |
|
27.10.2004, 15:14 | #9 |
Модератор
|
Как раз это - именно исключение.
Кстати говоря, это самый длинный метод во всей Axapta. Если говорить честно, то разработчики все-таки старались разбить код на множество мелких методов. Иногда даже черезчур С Уважением, Георгий. |
|
27.10.2004, 15:22 | #10 |
Участник
|
Re: Re: Re: Комментарии удалены?
Цитата:
Изначально опубликовано Ruff
Теперь берем метод \Classes\CustVendSettle\SettleNow, оставляем слой SYS и смотрим: 1. В начале метода огромный комментарий (см. первый постулат ) 2. Код метода состоит из 620-и строк (см. второй постулат) P.S. Сергей, только не говори, что исключение подтверждает правило. Аксапта с рефакторингом явно не дружат Для того, чтобы это понять необходомо посмотреть историю этого метода. Начиная с версии 2.1 В том то и дело, что со временем команда сменилась. И теперь мало кто вообще понимает что и почему там делается... Поэтому документация очень и очень нужна. |
|
27.10.2004, 15:27 | #11 |
Moderator
|
Цитата:
Для того, чтобы это понять необходомо посмотреть историю этого метода.
|
|
27.10.2004, 15:36 | #12 |
Участник
|
Re: Re: Комментарии удалены?
Цитата:
Изначально опубликовано mazzy
Где-то были даже разыернутые описания концепции работы. Цитата:
Изначально опубликовано mazzy
Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст. Цитата:
Изначально опубликовано mazzy
Надо сказать, что если оставить один слой sys, то именно так и происходит. Когда слоев много (много объектов), то уже необходимы не комментарии к коду, а описание СЕМЕЙСТВА классов. Так например, для четкой работы программиста необходимо описание концепции работы семейства LedgerVoucher. А вот такой документации в Аксапте чертовски мало. Именно из-за того, что разрабочики свято верили в рефакторинг. Верили бы разработчики свято в рефакторинг, то заложили бы в язык хотя бы разбиение классов на пакеты. А то получается, что и на пакеты не разбить и иерархия классов выше третьего порядка трудно реализуема(с помощью принятой в аксапте практики добавлять к имени предка "_ТакойтоПотомок" в названии класса-потомка) от того, что имя класса ограничено 35-ю символами... Скорее разработчики свято верили в непогрешимость и универсальность своего кода... |
|
27.10.2004, 15:44 | #13 |
Moderator
|
Цитата:
Постулат об отсутствии комментариев больше соответствует идеологии extreme programming
|
|
27.10.2004, 15:44 | #14 |
Участник
|
Re: Re: Re: Комментарии удалены?
Цитата:
Изначально опубликовано levsha
в приведенной Вами ссылке ничего похожего на первую часть постулата я не увидел... Найдите книгу. Рефакторинг и экстремальное программирование - две очень близко идущие ветви. Но это уже другая тема. Откройте новую, если вам это интересно. Цитата:
Изначально опубликовано levsha
Скорее разработчики свято верили в непогрешимость и универсальность своего кода... Анекдот. Сталинские времена. Просмотр в закрытом кремлевском зале нового фильма. Присутствуют: сталин, министр культуры, режиссер, другие отвественные лица. После просмотра все ждут мнения главного. Сталин: - А почему у главного героя усы как у вождя мирового пролетариата? ... молчание ... Сталин: - Значит так, актера расстрелять, режиссера расстрелять, министра культуры... Министр культуры: - Может главному герою усы сбрить? Сталин: - Или так. |
|
27.10.2004, 15:47 | #15 |
Moderator
|
Цитата:
Более того, для прояснения сути присходящего постоянно приводятся uml-диаграммы
|
|
27.10.2004, 15:51 | #16 |
Участник
|
Цитата:
Изначально опубликовано Андре
там действует примерно такое правило: "если есть подозрение (хоть малейшее), что данный документ/схема/диаграмма/коментарий не будут ни разу востребованы - то и делать их не стоит". |
|
27.10.2004, 15:53 | #17 |
Участник
|
Мне не верится что аксапта (пусть даже когда она была еще 1.0, или даже 0.666) была разработана без единой строчки документирвания структур и связей таблиц, концепций модулей и иерархии их классов и логики их работы.
Судя по тому сколько строк кода в аксапте и тому что она ЕЩЕ РАБОТАЕТ, тонны такой документации всё таки где то существуют. Не может быть что MBS-овцы передают друг другу и следующим поколениям своих разработчиков такие вещи исключительно в устно-сказательной форме. Почему же они ею не делятся? Думаю это глупый вопрос. |
|
27.10.2004, 15:58 | #18 |
Модератор
|
http://w8.platonoff.com/refactoring/
Рефакторинг! Утонем в комментариях. Код - это и есть в данном случае комментарий + грамотное название методов и классов... Другое дело, что в паре мест они действительно не помешеют... С Уважением, Георгий. |
|
27.10.2004, 16:07 | #19 |
Участник
|
2 Alks
В европейской штаб-хате MBS наверняка стоит Rose. И наверняка все закодено в UML, и есть даже драйвер для X++ Не может не быть... |
|
27.10.2004, 16:08 | #20 |
Участник
|
Цитата:
Изначально опубликовано Alks
Мне не верится что аксапта (пусть даже когда она была еще 1.0, или даже 0.666) была разработана без единой строчки документирвания структур и связей таблиц, концепций модулей и иерархии их классов и логики их работы. Судя по тому сколько строк кода в аксапте и тому что она ЕЩЕ РАБОТАЕТ, тонны такой документации всё таки где то существуют. Не может быть что MBS-овцы передают друг другу и следующим поколениям своих разработчиков такие вещи исключительно в устно-сказательной форме. Почему же они ею не делятся? Думаю это глупый вопрос. Фиг, нет у них такой документации. Действительно нет. |
|
Теги |
история развития, комментарий, рефакторинг, стиль программирования |
|
Похожие темы | ||||
Тема | Ответов | |||
Управление проектами!? | 14 |
|