Zasada Don’t Repeat Yourself (DRY) mówi, że duplikacja w logice powinna być wyeliminowana poprzez abstrakcję; duplikacja w procesie powinna być wyeliminowana poprzez automatyzację. Duplikacja to marnotrawstwo. Dodawanie dodatkowego, niepotrzebnego kodu do bazy kodowej zwiększa ilość pracy wymaganej do rozbudowy i utrzymania oprogramowania w przyszłości. Powielony kod zwiększa dług techniczny. Niezależnie od tego, czy duplikacja wynika z programowania na zasadzie „kopiuj-wklej”, czy słabego zrozumienia, jak zastosować abstrakcję, obniża ona jakość kodu. Duplikacja w procesie jest również marnotrawstwem, jeśli może być zautomatyzowana. Ręczne testowanie, ręczne budowanie i procesy integracyjne, itp. powinny być wyeliminowane, gdy tylko jest to możliwe, poprzez użycie automatyzacji.

Podejrzane instrukcje warunkowe

Często instrukcje if-then i switch mają zwyczaj być powielane w wielu miejscach w aplikacji. Powszechne w zabezpieczonych aplikacjach jest posiadanie różnych funkcjonalności dostępnych dla użytkowników w określonych rolach, więc kod może być zaśmiecony kontrolami if-user-is-in-role. Inne aplikacje mogły zostać rozbudowane do obsługi kilku podobnych, ale różnych rodzajów struktur danych, z instrukcjami switch() na wszystkich poziomach przepływu pracy używanymi do opisania różnic w zachowaniu każdej struktury danych. Tam, gdzie jest to możliwe, refaktoryzuj te warunki używając dobrze znanych wzorców projektowych, aby wyabstrahować duplikację do pojedynczej lokalizacji w obrębie bazy kodu.

Once and Only Once może być uważane za podzbiór zasady DRY.

Zasada Open/Closed działa tylko wtedy, gdy DRY jest przestrzegane.

Zasada Single Responsibility opiera się na DRY.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.