AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.09.2012, 23:25   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Главный принцип хорошего кода
Цитата:
Что можно сказать о плохом коде?
[list][*]ничего не понятно[*]непонятные переменные[*]огромные методы[*]неочевидные алгоритмы[*]хаки, нарушения инкапсуляции[*]высокая сложность и запутанность[*]изменения приводят к сюрпризам[*]ничего не понятно

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

...

Все, что можно отделить и назвать — должно быть отделено и названо.

...

Альтернативное мнение

Не все согласны с тем, что это — хорошая методика. Есть такое правило: выносить в отдельные методы только тот код, который может использоваться где-то еще. Если выносить все методы, то тогда возрастает когнитивная нагрузка из-за того, что программист вынужден будет ездить по файлу вверх-вниз в поисках нужного метода, вместо того, чтобы видеть все перед глазами.

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

Один из способов решить этот конфликт выглядит следующим образом. Выносим все методы, какие только можно. В течении пары дней изменения не откатываем, терпим. Через дня три станет мучительно понятно, какие методы таки нужно вернуть обратно.
подробнее http://habrahabr.ru/post/150868/

стоит отметить, что в аксапте методично применялся такой подход. по крайней мере в базовых классах (например, InventMovement и потомки. например, ledgerjournalengine).
и я бы не сказал, что методичное применение такого подхода сильно облегчило жизнь при чтении кода.

может быть, я чего не понимаю?
что думаете?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Подумайте, чем вы можете мотивировать на переход хорошего квалифицированного аксаптовода pitersky Курилка 48 10.06.2012 21:11
Импорт "собственных" блогов не сохраняет форматирование кода X++ gl00mie Обсуждение форума 4 19.07.2011 21:52
Как распознать хорошего программиста raz Курилка 0 27.01.2009 22:00
"Синий" форум после вставки X++ кода. Maximin Обсуждение форума 1 02.08.2005 12:59
Может не стоит вводить практику вставки кода в виде картинок ? Андре Обсуждение форума 1 27.12.2004 17:49

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

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

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