Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 2.68 KB

Lib 2017 Rus. Building Maintainable Software (C# Edition).md

File metadata and controls

43 lines (37 loc) · 2.68 KB

Lib 2017 Rus. Building Maintainable Software (C# Edition)

  1. Joost Visser. Building Maintainable Software (C# Edition)
  2. Дж. Виссер. Разработка обслуживаемых программ на языке C# ISO 25010:2011 http://docs.cntd.ru/document/1200121069 https://bettercodehub.com

Принципы рекомендаций

  1. Рекомендации должны быть простыми.
  2. Применение рекомендаций с самого начала и значимость вклада каждого разработчика.
  3. Не все пути отступления от рекомендаций дают одинаковый отрицательный эффект.
  4. Заблуждения 4.1 Обслуживаемость зависит от языка программирования 4.2 Обслуживаемость зависит от прикладной области 4.3 Обслуживаемость гарантирует отсутствие ошибок 4.3 Обслуживаемость оценивается одной из двух альтернатив Эффективность и результативность исправления ошибок
  5. Рейтинг обслуживаемости

1. Размер блока кода не должен превышать 15 строк.

1.1. Метод извлечения. 1.2. Замена методов объектами. Типичные возражения:

  • Увеличение кол-ва блоков кода плохо сказывается на производительности
  • Разделение кода ухудшает читаемость
  • Этот блок кода невозможно разделить (SQL)
  • Разделение блоков кода не даёт заметных преимушеств

2. Простые блоки кода.

Блок не должен превышать 4 точек ветвления. Означает минимальное кол-во тестов блока. 2.1. Добавление структуры, например Dictionary. 2.2. Модель замены условий полиморфизмом, с использованием интерфейсов. Мотивация: 2.1 Легче изменять 2.2 Проще тестировать Типичные возражения:

  • Высокая сложность неизбежна
  • Разделение методов не уменьшает сложности

3. Не повторяйте один и тот же код.

4. Стремитесь к уменьшению размеров интерфейсов.