Zasady i jakosc kodu
17 pojęć w 9 podgrupach, z prostymi definicjami i źródłami.
Antywzorce kodu · 2
- 01antywzorzecPowtarzalne rozwiązanie problemu, które wydaje się skuteczne, lecz w praktyce przynosi więcej szkód niż korzyści.
- 02smród koducode smellPowierzchniowy objaw w kodzie sugerujący głębszy problem projektowy, np. zbyt długa metoda czy duplikacja, wskazujący kandydata do refaktoryzacji.
Metryki jakosci · 2
- 01dług technicznySkumulowany koszt przyszłych poprawek wynikający z wyboru łatwiejszego, gorszego rozwiązania zamiast lepszego, lecz pracochłonniejszego.
- 02złożoność cyklomatycznaMiara liczby liniowo niezależnych ścieżek przepływu sterowania w programie, używana do oceny złożoności i testowalności kodu.
Modularnosc · 2
- 01spójnośćcohesionStopień, w jakim elementy pojedynczego modułu są ze sobą funkcjonalnie powiązane i służą jednemu zadaniu; wysoka spójność jest pożądana.
- 02sprzężeniecouplingStopień wzajemnej zależności między modułami; niskie sprzężenie ułatwia zmiany i ponowne użycie, wysokie utrudnia utrzymanie.
Poprawnosc kodu · 1
- 01projektowanie kontraktoweDesign by ContractMetoda określania wzajemnych zobowiązań komponentów przez warunki wstępne, końcowe i niezmienniki traktowane jak kontrakt.
Praktyki kodowania · 1
- 01programowanie defensywneStyl pisania kodu zakładający możliwość nieprawidłowych danych i stanów, chroniący program przez walidację wejść i obsługę błędów.
Praktyki utrzymania · 1
- 01refaktoryzacjaZmiana wewnętrznej struktury kodu poprawiająca jego czytelność i strukturę bez modyfikacji obserwowalnego zachowania zewnętrznego.
Zasady kodowania · 1
- 01DRYDon't Repeat YourselfKażdy element wiedzy w systemie powinien mieć jedną, jednoznaczną i autorytatywną reprezentację, bez powielania logiki.
Zasady modularyzacji · 1
- 01ukrywanie informacjiinformation hidingProjektowanie modułu tak, by decyzje projektowe podatne na zmianę były niewidoczne dla pozostałych modułów.
Zasady OOP · 6
- 01abstrakcjaWyodrębnienie istotnych cech bytu z pominięciem szczegółów nieistotnych z danego punktu widzenia, dające uproszczony model.
- 02hermetyzacjaencapsulationUkrycie wewnętrznego stanu i implementacji składnika za zdefiniowanym interfejsem, ograniczające bezpośredni dostęp z zewnątrz.
- 03SOLIDakronim 5 zasadZestaw pięciu zasad projektowania zorientowanego obiektowo (m.in. jednej odpowiedzialności, otwarte-zamknięte) wspierających utrzymywalność i rozszerzalność.
- 04zasada jednej odpowiedzialnościSRPKlasa lub moduł powinien mieć tylko jeden powód do zmiany, czyli jedną odpowiedzialność wobec aktora.
- 05zasada odwrócenia zależnościDIPModuły wysokopoziomowe nie powinny zależeć od niskopoziomowych; obie warstwy zależą od abstrakcji, a nie od konkretów.
- 06zasada podstawienia LiskovLSPObiekty typu bazowego można zastąpić obiektami podtypu bez naruszenia poprawności programu.
Pozostałe grupy — Inżynieria i wzorce
- SłownikProcesy i metodyki
- SłownikStyle architektoniczne
- SłownikWzorce projektowe