Cześć,
Programuję na froncie (TS, frameworki) od ok. 10 lat. Znam się na tym temacie trochę. Jest jeden mały problem, który dostrzegam praktycznie od zawsze, ale przez pewien czas udawało się go niwelować (bo jeszcze g* wiedziałem i myślałem, że robię postępy) - zaawansowane techniki programowania.
Trudno nawet powiedziec o co chodzi, bo w kolejnych projektach (trochę tego było) trafiam na większe lub mniejsze bagno. Z drugiej strony to co mam okazję robić od zera utrzymuje w ultra prostej konwencji - ktoś by powiedział, że pisze jak osoba, która nie zna clean code (trochę tu upraszczam).
Chodzi o to, że kod napisany wg. prawideł z książek (a nie daj boże z uzyciem wzorców) jest trochę jak znormalizowana baza - ciężkie to w refaktorze jak cholera. Trzeba obudowywac kolejnymi wzorcami, bo traktujemy to co do tej pory pwostało jako black box. I tu się zaczyna dramat osób, które jednak ten chlew musza zamienic w lśniący dom typu stodoła. Z tego powodu piszę kod w sposób maksymalnie prosty, aby moi następcy (lub ja, gdybym się zasiedział) nie dostali udaru.
No i tu pojawia się ważne pytanie: co robic, jak żyć. Jak zachowac prostotę kodu nieskażonego ideologią, ale nie wyzbywac się narzędzi typu single directional flow (jakies reduxy, ngrxy). Bo w obecnym kształcie tworza one nowotwory z przerzutami, tzn. rozwiązują jednen problem, ale dokładają takie complexity, że zabijają projekt :P Widziałem to juz wielokrotnie i mądrzy ludzie z którymi rozmawiałem o tym problemie przytakują. Przydałaby się jednak recepta (najlepiej gdyby to nie była chemioterapia).