Jak pisać dobry kod?
Czyli subiektywnie o tym, jak byłoby gdyby świat IT był idealny. Jeśli jesteś programistą lub planujesz nim zostać, to ten blog jest właśnie dla Ciebie. Każdy nowy wpis o wzorcach, architekturze i dobrych praktykach to dawka nietuzinkowego know-how.
Sprawdź co nowego w świecie clean code i architektury oprogramowania.
Command-Query Separation, czyli zasada o rozdzielaniu zadań metod tak, aby były jedynie komendami lub zapytaniami. Jeżeli Twoja metoda realizuje logikę i zwraca wyniki, lub podczas pobierania danych wykonuje side taski, to łamie ona CQS.
Omawiam dzisiaj mało znaną zasadę, której stosowanie skutkuje posiadaniem łatwo utrzymywalnego i testowalnego kodu. Mowa o prawie demeter, które w najprostszym ujęciu zakłada, że obiekty powinny operować jedynie na najbliższym im otoczeniu.
Dzisiaj o popularnym wzorcu strukturalnym: fasada. Wielu programistów nie zdaje sobie nawet sprawy, że z niego korzysta. Z pewnych względów (a raczej niepoprawnych implementacji) wzorzec facade może być postrzegany jako „anty pattern”.
Z jednej strony wiemy o encji będącej reprezentacją wiersza z tabeli bazy, a z drugiej o miejscu na logikę biznesu. Encja może mieć tylko zmapowane pola bazy czy coś więcej? Dzisiaj o tym, kiedy lepiej mieć encje bogate, a kiedy anemiczne.
Przybliżę dzisiaj koncept Value Objects, które w głównej mierze mogą kojarzyć się z Domain Driven Design, ale czy powinniśmy wrzucać je do tego samego worka? Dziś o tym dlaczego Value Object to nie coś dedykowanego jedynie DDD.
Kontynuacja treści o warstwie dostępu do danych. Dzisiaj powiem o Data Access Objects i jak mają się one do omówionych wcześniej repozytoriów. Wspomnę o różnych podejściach przy pobieraniu danych i odpowiem na pytanie czy w ogóle potrzebujemy DAO.