по поводу "острых эмоций от процессов рефакторинга"
бывает еще... необходимость в по-модульном редизайне архитектуры, вызванном не тупиком архитектуры модуля,
а, например, развитием технологий, изменением стандартов, появлением новых протоколов и т.п... - в таком случае,
если неэффективно (затратно / ни к чему) всю систему переписывать "с нуля",
а сохранение интерфейса взаимодействия модуля с остальной частью системы плодит костыли - даже совершенный код требует рефакторинга,
а это уже подобно "усовершенствованию совершенного" - вот после такого опыта чсв может зашкалить безмерно
![Wink ;) ;)](/talk/styles/default/xenforo/smilies/wink.png)