По поводу рефакторинга.
Впечатление наукообразной тривиальности.
Или, чтобы программеров подразнить: опять программеры с понтами америку открыли.

Ну, полезно в базовом курсе сказать "переделывай программу маленькими тождественными преобразованиями, прогоняя тесты после каждого".
Любой курс мат. логики эту идею передает (формальные выводы и доказательства).

У меня пятиклассники процедуры из кода выделяли, еще на зная циклов.

Понятно, что автоматизировать какие-то подобные трансформации может быть и полезно. Теоретически.

Но вот толстенная и дорогая книга Фаулера. И что?

> -- Цитата:
> ... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ...

Очередная раздутая "парадигма"?