To, czego trzeba, to moim zdaniem nie zawsze "głupi" kod, tylko kod prosty.
I tak:
-
czasem żeby pisać prosty kod, trzeba okiełznać potrzebę robienia "abstrakcji dla abstrakcji". Niestety wielu programistów, ma z tym problem, bo są wytrenowani wręcz do owijania każdego kawałka logiki w abstrakcje, "żeby było profesjonalnie" (tak jakby ktoś im płacił od linijki kodu?). Więc mamy kod tortilla. Czyli wszystko musi mieć wrapper.
-
czasem jednak żeby pisać prosty kod, jest potrzebna abstrakcja. No bo czasem "normalny kod" (tj. kod głupi, tak jak się go pisze luzem w danym języku programowania czy używając API danej biblioteki czy frameworka) łatwo staje się zamotany, bo czegoś brakuje jednak. Więc czasem abstrakcja jest potrzebna, żeby uprościć kod (Tutaj niestety wielu programistów nie potrafi dostrzec potrzeby abstrakcji ani wymyślić odpowiedniej. Niektórzy będą też czuć opór przeciwko abstrakcjom, których sami nie rozumieją i używać tylko tego, co znają). Czasami brak abstrakcji to jak jedzenie pomidorowej rękami.