Znalazłem analogię do Naturalnego porządku refaktoryzacji, o którym pisze Mariusz. Otóż kod pączkuje zupełnie jak drożdże.
Zaczynamy pisać od kawałka kodu, aby zadziałało, potem wyodrębnienie zmiennych, wyodrębnienie metod, przegląd odpowiedzialności, pojawiają się nowe klasy. Naturalny porządek refaktoryacji pozwala projektowy rosnąć i rozwijać się w odpowiednim tempie, z zachowaniem sensownej struktury.
Kłopot pojawia się, gdy próbujmy przyśpieszyć wzrost drożdżowego kodu. Zostawiamy zahardkodowane rozwiązania, na w projekcie pojawiają się brzydkie rozwiązania. Tego typu rzeczy się zdarzają, kłopot w tym, że zostają na zawsze. Wtedy zamiast wypieczonego projektu, dostajemy zakalec albo spaleniznę.
Każda idea ma swój czas inkubacji. Wydaje mi się, że nie ma dróg na skróty.