Начало
МИР ЭКСТРЕМАЛЬНОГО
программирования
УРОКИ
ПРАКТИКА
ПАТТЕРНЫ
СТАТЬИ
ПРОГРАММЫ
ФОРУМ
ССЫЛКИ

Декомпозиция условного оператора (Decompose Conditional)

У вас есть сложное условное выражение (if-then-else).

Выделите условие в отдельный метод, затем следующий кусок и все оставшиеся.

		if (date.before (SUMMER_START) || date.after(SUMMER_END))
			charge = quantity * _winterRate + _winterServiceCharge;
		else charge = quantity * _summerRate;
		if (notSummer(date))
			charge = winterCharge(quantity);
		else charge = summerCharge (quantity);

Более детальную информацию смотрите на странице 242 книги Рефакторинг.

Оригинальная версия.

Copyright © 1999-2003, Martin Fowler.

Subscribe.Ru
Мир экстремального программирования
Рассылка 'Мир экстремального программирования'   Content.Mail.Ru Rambler's Top100