a co ma z tym wspólnego że lepiej poczekać? I co mamy robić w czasie tego czekania, które podejście z pierwszego posta jest lepsze i dlaczego?
Wstrzymanie samo w sobie nie jest rozwiązaniem, ale daje przestrzeń na przygotowanie rozwiązania. Od teraz masz powód, by obserwować, wychodzić z różnymi pytaniami, perspektywami jakie może pozwolą Ci zobaczyć więcej niż na początku widziałeś. To podejście umożliwi Ci podjąć właściwie działanie, i poznać odpowiedź która rozwiąże problem.
Przy wydzielaniu unikaj biznesowego myślenia. Biznes jak przedstawia historyjkę do zaimplementowania to zawsze robi to od strony interaktywnej. Oni mówią co się ma wydarzyć, jakie efekty chcą zobaczyć w programie, bo właśnie te efekty są dla nich wartością tworzonego programu.
Jak zaczniesz pracę od koncentracji na efektach, wtedy różne konteksty zaczną się nakładać na Twoją pracę. Nie ogarniesz ich zbiorczo. Jeśli będziesz próbował je uogólniać to za każdym uzyskasz nieszczelną abstrakcje, ponieważ nigdy nie będziesz miał kontroli nad wymaganiami jakie otrzymasz od klienta.
Tutaj co mogę wskazać to powrót do podstaw: najprostsze w kontroli są te abstrakcje które są skupione wyłącznie na jednym kontekście.
Pomyśl jak proste jest napisanie kodu, który liczy sumę? Albo jak proste jest zapisanie kodu, który tylko zajmuje się zapisaniem tekstu do dowolnego miejsca, albo jak proste jest iterowanie gdy nawet nie znasz kolekcji itp - jeśli chodzi o pracę nad jednym kontekstem, my programiści mamy tutaj ogromną swobodę zarówno do wyrażania osi obrotu, jak i błyskawicznej oceny czy ona ma dla naszego probemu sens.
Tutaj nie ma pół środków. Wystarczy tylko dwa konteksty na raz i już tracimy kontrolę, wybrany fragment kodu przypomina niechlujny skrypt niż pomyślany kod. Przykladowo jeśli Twój komponent coś wylicza i wyświetla, to już tego warto nie uogólniać (mimo, że kusi), bo jeśli to zrobisz to każda zmiana dotycząca wyliczeń i każda zmiana dotycząca wyświetlania może zacząć wyciekać, to zaraz popsuje Ci interfejs i wpłynie na wszystkie inne miejsca które są od niego zależne.
Podsumowując buduj wyrafinowane i piękne abstrakcje oddolnie, a do góry wypychaj rzeczy nad którymi nie możesz mieć kontroli.