AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.06.2009, 23:22   #9  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Ой, неужели сопоставление было написано уже после того, как Дамгаард продался Навижену?
Так о том и речь, что этот метод рефакторить нужно, а не комментировать.

Цитата:
Оно, конечно, здорово писать такой код, где имена говорят сами за себя, а методы содержат лишь дюжину-другую строк, но если модифицировать код системы не за счет бесконечных условных ветвлений в одних и тех же методах, а за счет использования ООП, то зачастую получаются классы-наследники, где перекрыты отдельные методы, обычно параметрические, или до/после вызова super() есть какой-то кусочек кода.
А при чем тут комментарии. Согласен, что наследование не лучшая часть ООП, хотя бы потому, что оно позволяет нарушить принцип Лисков. Есть куча других способов повторного использования кода, которые на страдают увеличением кол-ва зависимостей между классами.

Цитата:
Так вот, если не помнить наизусть, как работает родительский класс (а у меня лично иерархии наследования достигают подчас 4-х уровней, считая после RunBaseBatch), то код становится ну совсем непрозрачным, а предположения, в нем используемые, - совсем неочевидными. И в такой ситуации комментарий вида "эта переменная уже инициализирована там-то" спустя полгода-год позволяют намного быстрее разобраться в собственном же коде, не говоря даже про чужой.
4 уровня наследвания после RunBaseBatch говорят о том, что надо задуматься и, может быть, пересмотреть иерархию объектов. Вы сами об этом и говорите, когда пишете, что код становится непрозрачным. Только вы предлагаете расставить комментарии, а я считаю это полумерой и предлагаю рефакторинг.

Кроме того, почему то никто не упоминал, что комментарии имеют обыкновение устаревать по мере изменения кода, а устаревший комментарий хуже, чем отсутствующий.

Пойду даже дальше и признаюсь, что я считаю нецелесообразным даже помечать модифицированный код в стиле

X++:
<--   
-- >
В большой консалтинговой конторе с большой историей проектов и большим количеством программистов таких бессодержательных комментариев в коде становится больше, чем самого кода. Особенно это относится к клиническим случаям, когда старый код не удаляется, а комментируется.

Для решения подобных задач предназначены cvs - системы и, если я ничего не пропустил, со своей задачей они пока справляются.
За это сообщение автора поблагодарили: Maxim Gorbunov (4), EVGL (3), petr (2).
Теги
как правильно, комментарий

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как и где указать Ax, что моё поле тоже надо так обрабатывать? kostas DAX: Программирование 8 17.04.2015 00:36
2 АОС, как правильно ставить Daido DAX: Администрирование 2 27.10.2007 01:36
Когда нужно ставить свойство server на static методах 6apcyk DAX: Программирование 20 13.12.2006 13:10
1С и Axapta.Ставить на один или на разные инстансы SQL? ATimTim DAX: Прочие вопросы 3 09.09.2005 10:32
Комментарии удалены? gudzon DAX: Программирование 28 28.10.2004 05:34

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:30.