AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 27.10.2004, 09:19   #1  
gudzon is offline
gudzon
программист
 
1,166 / 329 (13) ++++++
Join Date: 06.07.2004
Location: Москва
? Комментарии удалены?
Добрый день!
По ходу программирования в Axapta появилось предположение что кто-то автоматически удалил все комментарии из кода? Кто? Зачем? На каком этапе? Это только в российской функциональности?
Old 27.10.2004, 10:04   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Join Date: 03.12.2001
Хм... и на основе чего возникло такое предположение, если не секрет ?
В основном код достаточно прозрачен и понятен без комментариев, за исключением нескольких мест, где действительно бывает полезна помошь - например, книги покупок/продаж.
Комментарии удалялись вряд ли - так как если удалять, то все - а я встречал комментарии как разаботчиков российского mbs, так и международного (включая комментарии на датском ).
Old 27.10.2004, 10:59   #3  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
На самом деле, это близко к истине. Дело в том, что многие баги, поправленные локализаторами (основное кол-во - росийскими ) были поправлены уже MBS на более низких слоях. Так что вместо комментариев //EVGL.... //Valu... //GrVe... //ANVA... и т.п. Теперь либо просто прижившийся код, либо чужие или безличные комментарии... // RU-477-814-QBHL, // SP3 DK-68-603-CCR9....


С Уважением,
Георгий
Old 27.10.2004, 11:14   #4  
gudzon is offline
gudzon
программист
 
1,166 / 329 (13) ++++++
Join Date: 06.07.2004
Location: Москва
Quote:
Изначально опубликовано Андре
Хм... и на основе чего возникло такое предположение, если не секрет ?
В основном код достаточно прозрачен и понятен без комментариев, за исключением нескольких мест, где действительно бывает полезна помошь - например, книги покупок/продаж.
Комментарии удалялись вряд ли - так как если удалять, то все - а я встречал комментарии как разаботчиков российского mbs, так и международного (включая комментарии на датском ).
Код становиться прозрачным после очень тесного знакомства с Axapta.
Дело ведь не в понимании кода вообще, а в элементарной экономии времени разработчика. Могу предположить, что кой кому это не выгодно...
С чего я взял что удалили комментарии? Почему в ключевых местах кода ( перед функциями, в начале циклов... ) стоят пустые строки? Только лишь для удобства?
Вряд ли....
Old 27.10.2004, 11:21   #5  
Hamster is offline
Hamster
Участник
 
687 / 13 (2) ++
Join Date: 15.05.2003
Talking
>кто-то автоматически удалил все комментарии из кода? Кто? Зачем?

А чтоб потом никто не узнал насколько хорошо KURA или EVGL знали Axapta

Old 27.10.2004, 12:57   #6  
komar is offline
komar
Шаман форума
komar's Avatar
Ex AND Project
 
5,571 / 600 (32) +++++++
Join Date: 24.05.2002
Quote:
Изначально опубликовано Hamster
>кто-то автоматически удалил все комментарии из кода? Кто? Зачем?

А чтоб потом никто не узнал насколько хорошо KURA или EVGL знали Axapta

Понится, в одной компании, в которой мне довелось работать, KURA считался чем-то вроде злого духа - покровителя граблей :-))) все из-за опрометчиво оставленных подписей в комментариях к наиболее выдающимся участкам локализации образца версии 2.1-2.5
Old 27.10.2004, 12:58   #7  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Re: Комментарии удалены?
Quote:
Изначально опубликовано gudzon
Добрый день!
По ходу программирования в Axapta появилось предположение что кто-то автоматически удалил все комментарии из кода? Кто? Зачем? На каком этапе? Это только в российской функциональности?
Комментарии есть, конечно.
Info.startup()
SysApplCheck.argumentThePaths()
SysCheckList.*
SysListPanel.addData
и т.п.

Где-то были даже разыернутые описания концепции работы.

Почему комментариев так мало?
Просто исходные разработчики свято верили в рефакторинг и перекрестные ссылки.
http://w8.platonoff.com/refactoring/

Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст.

Надо сказать, что если оставить один слой sys, то именно так и происходит.
Когда слоев много (много объектов), то уже необходимы не комментарии к коду, а описание СЕМЕЙСТВА классов. Так например, для четкой работы программиста необходимо описание концепции работы семейства LedgerVoucher.

А вот такой документации в Аксапте чертовски мало. Именно из-за того, что разрабочики свято верили в рефакторинг.

С российской функциональностью было чуть по-другому...
Old 27.10.2004, 15:08   #8  
Ruff is offline
Ruff
Дмитрий Ерин
Ruff's Avatar
1C
 
475 / 396 (14) ++++++
Join Date: 18.09.2003
Location: Тула
Re: Re: Комментарии удалены?
Quote:
Изначально опубликовано mazzy

Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст.

Надо сказать, что если оставить один слой sys, то именно так и происходит.
Угу! А еще один из постулатов рефакторинга гласит следующее:
Quote:

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
Теперь берем метод \Classes\CustVendSettle\SettleNow, оставляем слой SYS и смотрим:
1. В начале метода огромный комментарий (см. первый постулат )
2. Код метода состоит из 620-и строк (см. второй постулат)

P.S. Сергей, только не говори, что исключение подтверждает правило. Аксапта с рефакторингом явно не дружат
Old 27.10.2004, 15:14   #9  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Как раз это - именно исключение.
Кстати говоря, это самый длинный метод во всей Axapta. Если говорить честно, то разработчики все-таки старались разбить код на множество мелких методов. Иногда даже черезчур

С Уважением,
Георгий.
Old 27.10.2004, 15:22   #10  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Re: Re: Re: Комментарии удалены?
Quote:
Изначально опубликовано Ruff
Теперь берем метод \Classes\CustVendSettle\SettleNow, оставляем слой SYS и смотрим:
1. В начале метода огромный комментарий (см. первый постулат )
2. Код метода состоит из 620-и строк (см. второй постулат)

P.S. Сергей, только не говори, что исключение подтверждает правило. Аксапта с рефакторингом явно не дружат
Как раз скажу. Как раз исключение и как раз подтверждает.
Для того, чтобы это понять необходомо посмотреть историю этого метода.
Начиная с версии 2.1

В том то и дело, что со временем команда сменилась.
И теперь мало кто вообще понимает что и почему там делается...
Поэтому документация очень и очень нужна.
Old 27.10.2004, 15:27   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Join Date: 03.12.2001
Quote:
Для того, чтобы это понять необходомо посмотреть историю этого метода.
Угу. Этот код кем только не правился
Old 27.10.2004, 15:36   #12  
levsha is offline
levsha
Участник
 
22 / 14 (1) ++
Join Date: 20.10.2003
Location: СПб
Re: Re: Комментарии удалены?
Quote:
Изначально опубликовано mazzy

Где-то были даже разыернутые описания концепции работы.
в 2.5 таким развернутым описанием мог похвастать класс RunBase

Quote:
Изначально опубликовано mazzy

Один из постулатов рефакторинга говорит, что правильному коду не нужны комментарии. Код должен быть таким, чтобы его можно было читать и понимать как обычный текст.
в приведенной Вами ссылке ничего похожего на первую часть постулата я не увидел... Более того, для прояснения сути присходящего постоянно приводятся uml-диаграммы, которые тем более в код никто помещать не будет. Постулат об отсутствии комментариев больше соответствует идеологии extreme programming, которая стала так популярна у отечественных девелоперов в том числе и благодаря такому заявлению.

Quote:
Изначально опубликовано mazzy

Надо сказать, что если оставить один слой sys, то именно так и происходит.
Когда слоев много (много объектов), то уже необходимы не комментарии к коду, а описание СЕМЕЙСТВА классов. Так например, для четкой работы программиста необходимо описание концепции работы семейства LedgerVoucher.

А вот такой документации в Аксапте чертовски мало. Именно из-за того, что разрабочики свято верили в рефакторинг.
Действительно, много объектов, которые ни каким образом не структурированы...
Верили бы разработчики свято в рефакторинг, то заложили бы в язык хотя бы разбиение классов на пакеты. А то получается, что и на пакеты не разбить и иерархия классов выше третьего порядка трудно реализуема(с помощью принятой в аксапте практики добавлять к имени предка "_ТакойтоПотомок" в названии класса-потомка) от того, что имя класса ограничено 35-ю символами... Скорее разработчики свято верили в непогрешимость и универсальность своего кода...
Old 27.10.2004, 15:44   #13  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Join Date: 03.12.2001
Quote:
Постулат об отсутствии комментариев больше соответствует идеологии extreme programming
Если я не позабыл, то рефакторинг является составляющей XP. Так же как и парное программирование и unit-тесты.
Old 27.10.2004, 15:44   #14  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Re: Re: Re: Комментарии удалены?
Quote:
Изначально опубликовано levsha
в приведенной Вами ссылке ничего похожего на первую часть постулата я не увидел...
В приведенной ссылке перевод только первой главы.
Найдите книгу.

Рефакторинг и экстремальное программирование - две очень близко идущие ветви.
Но это уже другая тема. Откройте новую, если вам это интересно.

Quote:
Изначально опубликовано levsha
Скорее разработчики свято верили в непогрешимость и универсальность своего кода...
Или так.


Анекдот.
Сталинские времена. Просмотр в закрытом кремлевском зале нового фильма. Присутствуют: сталин, министр культуры, режиссер, другие отвественные лица. После просмотра все ждут мнения главного.
Сталин: - А почему у главного героя усы как у вождя мирового пролетариата?
... молчание ...
Сталин: - Значит так, актера расстрелять, режиссера расстрелять, министра культуры...
Министр культуры: - Может главному герою усы сбрить?
Сталин: - Или так.
Old 27.10.2004, 15:47   #15  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Join Date: 03.12.2001
Quote:
Более того, для прояснения сути присходящего постоянно приводятся uml-диаграммы
А вот применение диаграмм - это уже больше к RUP относится. То есть, и в xp не запрещается их использовать, но там действует примерно такое правило: "если есть подозрение (хоть малейшее), что данный документ/схема/диаграмма/коментарий не будут ни разу востребованы - то и делать их не стоит".
Old 27.10.2004, 15:51   #16  
levsha is offline
levsha
Участник
 
22 / 14 (1) ++
Join Date: 20.10.2003
Location: СПб
Quote:
Изначально опубликовано Андре

там действует примерно такое правило: "если есть подозрение (хоть малейшее), что данный документ/схема/диаграмма/коментарий не будут ни разу востребованы - то и делать их не стоит".
судя по всему, именно в этом были уверены разработчики Аксапты...
Old 27.10.2004, 15:53   #17  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Join Date: 23.07.2004
Location: г. Новокузнецк
Мне не верится что аксапта (пусть даже когда она была еще 1.0, или даже 0.666) была разработана без единой строчки документирвания структур и связей таблиц, концепций модулей и иерархии их классов и логики их работы.
Судя по тому сколько строк кода в аксапте и тому что она ЕЩЕ РАБОТАЕТ, тонны такой документации всё таки где то существуют. Не может быть что MBS-овцы передают друг другу и следующим поколениям своих разработчиков такие вещи исключительно в устно-сказательной форме.
Почему же они ею не делятся? Думаю это глупый вопрос.
Old 27.10.2004, 15:58   #18  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
http://w8.platonoff.com/refactoring/

Рефакторинг! Утонем в комментариях. Код - это и есть в данном случае комментарий + грамотное название методов и классов...
Другое дело, что в паре мест они действительно не помешеют...

С Уважением,
Георгий.
Old 27.10.2004, 16:07   #19  
Hamster is offline
Hamster
Участник
 
687 / 13 (2) ++
Join Date: 15.05.2003
2 Alks

В европейской штаб-хате MBS наверняка стоит Rose.
И наверняка все закодено в UML, и есть даже драйвер для X++

Не может не быть...
Old 27.10.2004, 16:08   #20  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Quote:
Изначально опубликовано Alks
Мне не верится что аксапта (пусть даже когда она была еще 1.0, или даже 0.666) была разработана без единой строчки документирвания структур и связей таблиц, концепций модулей и иерархии их классов и логики их работы.
Судя по тому сколько строк кода в аксапте и тому что она ЕЩЕ РАБОТАЕТ, тонны такой документации всё таки где то существуют. Не может быть что MBS-овцы передают друг другу и следующим поколениям своих разработчиков такие вещи исключительно в устно-сказательной форме.
Почему же они ею не делятся? Думаю это глупый вопрос.
О... как я верил в это еще год назад.
Фиг, нет у них такой документации.
Действительно нет.
Tags
история развития, комментарий, рефакторинг, стиль программирования

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Управление проектами!? 3oppo DAX: База знаний и проекты 14 16.06.2006 10:56

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 09:39.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.