Приветствую Вас ГостьВторник, 14.05.2024, 13:08

Каталог статей


Стив Макконнелл "Совершенный код". Общие принципы уменьшения сложности

Как измерить сложность.

Возможно, самый важный способ предложил Том Маккейб, Сложность в нем измеряется с помощью подсчета количества «точек принятия решения» в методе

1. Начните считать с 1 на некотором участке кода.
2. Добавляйте 1 для каждого из следующих ключевых слов или их эквивалентов:
   if while repeat for and or.
3. Добавляйте 1 для каждого варианта в операторе case.

Приведем пример:
if ( ( (status = Success) and done ) or
   ( not done and ( numLines >= maxLines ) ) ) then ...

В этом фрагменте вы начинаете считать с 1, получаете 2 для if, 3 — для and, 4 —для or и 5 — для and. Таким образом, этот фрагмент содержит всего пять точек принятия решения.

Посчитав количество точек принятия решения, вы можете использовать это число для анализа сложности вашего метода:

0–5 Этот метод, возможно, в порядке.
6–10 Начинайте думать о способах упрощения метода.
10+ Вынесите часть кода в отдельный метод и вызывайте его.

Перенос части метода в другой метод не упрощает программу — он просто перемещает точки принятия решения. Но он уменьшает сложность, с которой вам приходится иметь дело в каждый момент времени.

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

 

 

Категория: Стив Макконнелл "Совершенный код" | Добавил: leshic (16.11.2021)
Просмотров: 157 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
Стив Макконнелл "Совершенный код" [20]
Стив Макконнелл "Совершенный код"
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0