Zapachy projektu: Luźne myśli o tym, do czego dążyć w procesie tworzenia kodu
Autor: Idego Group

Autor, Mateusz Górski, reflektuje nad przechodzeniem między zespołami deweloperskimi i praktykami, które odróżniają dobrze utrzymane bazy kodu od tych borykających się z problemami.
Dlaczego ten artykuł
Po dołączeniu do nowego zespołu autor zdał sobie sprawę, że praktyki wcześniej uważane za oczywiste nie są powszechne we wszystkich projektach. Zamiast potępiać istniejące podejścia, artykuł analizuje „zapachy" – sygnały ostrzegawcze warte zbadania – mające zastosowanie do deweloperów na każdym etapie kariery.
Testy
Testowanie wyłania się jako najważniejsza praktyka. Dobrze napisane testy służą jako żywa dokumentacja dla nowicjuszy. Autor kładzie nacisk na opisowe nazewnictwo testów, na przykład „test_raises_validation_error_when_incorrect_country_code_provided" zamiast ogólnych etykiet jak „test_fails".
Dodatkowe aspekty testowania obejmują rozumienie wstrzykiwania zależności dla testowalności, traktowanie kodu testowego z tymi samymi standardami jakości co kod produkcyjny, i dążenie do kompleksowego pokrycia (nawet 100% jest osiągalne). Testowanie integracyjne na wielu warstwach – walidowanie endpointów API wraz z wynikami bazy danych – zapobiega sztywnym architekturom kodu nadmiernie testującym poszczególne funkcje.
Zależności między modułami
Artykuł omawia Regułę Zależności: wewnętrzne warstwy architektoniczne nie powinny polegać na zewnętrznych. Unikanie cyklicznych importów wzmacnia możliwość utrzymania. Enkapsulacja na poziomie modułu jest analogiczna do zasad na poziomie klasy.
Frameworki programistyczne
Deweloperzy powinni rozpoznawać wzorce projektowe narzucane przez ich frameworki, uznając, że standard jednego frameworka może być antypatternem w innym.
Spotkania i SCRUM
Nadmierne spotkania pochłaniają zasoby. SCRUM powinien ułatwiać, a nie więzić zespoły. Szacunki punktów story nie są powszechnie konieczne.
Podsumowanie
Kod ostatecznie służy celom biznesowym. Podczas przeglądów deweloperzy muszą opierać się założeniu, że ich podejście jest jedynym słusznym.