Duplikacja kodu jest tańsza niż błędne abstrakcje

Większość programistów uczy się zasady DRY na wczesnym etapie. Do Not Repeat Yourself.

Ta zasada ma sens. Zapobiega błędom i oszczędza czas.

Jednak wielu programistów stosuje tę zasadę zbyt rygorystycznie. Próbują połączyć wszystko w jedną funkcję lub klasę. Prowadzi to do over-engineeringu.

Gdy wymuszasz połączenie dwóch różnych fragmentów logiki w jedną abstrakcję, tworzysz problemy. Dodajesz złożoności. Sprawiasz, że kod staje się trudny do odczytania.

Błędna abstrakcja kosztuje więcej niż niewielka duplikacja.

Jeśli duplikujesz kod, dokładnie wiesz, gdzie znajduje się logika. Jeśli musisz zmienić jeden element, zmieniasz go właśnie tam.

Jeśli użyjesz złej abstrakcji, musisz zmienić wszystko, co jest z nią powiązane. Ryzykujesz uszkodzenie funkcji, które nie mają nic wspólnego z Twoim obecnym zadaniem.

Stosuj te zasady, aby uniknąć problemów:

  • Pisz kod pod bieżące zadanie.
  • Poczekaj, aż wzorzec powtórzy się trzy razy, zanim zaczniesz tworzyć abstrakcję.
  • Przedkładaj czytelność nad oszczędność kilku linii kodu.
  • Zaakceptuj fakt, że pewna doza duplikacji jest zdrowa.

Przestań próbować sprawić, by każda linia kodu była idealna. Skup się na tym, aby Twój kod był łatwy do zmiany.

Źródło: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-3g0b