Skocz do zawartości

Rekomendowane odpowiedzi

Usuwanie niepotrzebnego, zbędnego kodu z naszego projektu jest istotnym elementem dobrej opieki nad nim. Ale są ludzie, którzy powiedzą "Hej! Panie! Ja tu się namęczyłem z pisaniem tego kodu i NIE MA OPCJI żebym go teraz kasował nawet jeśli już go nie używam". Ten artykuł ma wszystkich upartych przekonać, dlaczego martwy kod trzeba zakopywać głęboko klawiszem backspace.
 

 

 

  • Nad projektem może pracować więcej niż jedna osoba. A jeśli produkujesz oprogramowanie open-source, to kod będzie przeglądać o wiele więcej ludzi niż Twój zespół programistyczny. Jak dobrze wiemy kod jest przede wszystkim komunikacją między programistami, a to, że działa i spełnia swoje zadania jest sprawą drugorzędną. Obca osoba czytając martwy kod musi poświęcić dwa razy więcej czasu niż w przypadku kodu który jest w użytku ponieważ a) Musi zrozumieć jak działa b) Musi zrozumieć dlaczego ten kod nie jest używany i czy na pewno nie jest nigdzie używany i może go usunąć;
     
  • Za każdym razem przeglądając kod po raz dziesiąty czy setny, ktoś spędzi dłuuugie sekundy myśląc sobie "ah, to tu jest martwy kod, moje oczy muszą go ominąć". Taki kod to po prostu hałas dla oczu. Niepotrzebny żwir na naszym asfalcie. Dlaczego na naszym płaskim, idealnym asfalcie jest wysypany żwir? To na pewno nie jest sposób w jaki chcemy produkować a tym bardziej przeglądać kod;
     
  • Martwy kod jest martwy. Nie jest rozwijany. Został pozostawiony sam sobie kilka, kilkadziesiąt, kilkaset iteracji temu. Programista może użyć go bez wiedzy, że jest martwy. "Jest tam, więc czemu miałby być źle napisany?" Otóż nierozwijany kod zostawiony sam sobie może już nie spełniać obecnych standardów projektu, lub nawet jego autor mógł go nie dokończyć. Wtedy przy jego użyciu mogą wystąpić konsekwencje - bugi
     
  • Jeśli używasz jakiegokolwiek systemu kontroli wersji kodu i to na Ciebie spada odpowiedzialność za utrzymanie i konserwację kodu (zachowując jednocześnie martwy kod w projekcie), to masz więcej linii kodu do przejrzenia, więcej odpowiedzialności na Twoich barkach oraz większe pole do popisu dla błędów w zarządzaniu kodem
     
  • Konsekwencją chomikowania martwego kodu jest to, że ten kod się kumuluje. Normalnie, zachowuje się tylko najpotrzebniejsze rzeczy, tylko rzeczy używane, tylko rzeczy które spełniają jakąś rolę w naszym programie. Dlatego opiekujemy się nim, optymalizujemy go, refaktorujemy. W przeciwieństwie do martwego kodu. Ten, kumuluje się i zbiera, rosnąc diametralnie, a swoim rozmiarem zniechęca maksymalnie kogokolwiek, żeby zrobił co trzeba - przejrzał jeszcze raz kod, zrozumiał go i wyrzucił do kosza
     
  • Nie martw się, że kod który napisałeś zostanie skasowany, bo nie jest już potrzebny. W dzisiejszych czasach praktycznie zawsze używa się systemu kontroli wersji (np. GIT). Twój kod, który kiedyś w swojej świetności działał idealnie, jest zakopany gdzieś w commitach. Nie ma powodu żeby za nim płakać. Z czasem, szansa na ponowne użycie nieużywanego kodu maleje. Nie musisz go trzymać w każdej iteracji. Odpuść, zrób przysługę sobie w przyszłości i skasuj go. Jeśli był naprawdę ważny i kiedyś zdarzy się sytuacja, gdzie będziesz potrzebował tego kodu, odkopiesz go z czeluści GITa.
     
  • Tutaj widzę dobrą okazję na przedstawienie jednej z reguły tworzenia oprogramowania w trybie extreme programming: YAGNI (ang. You aren't gonna need it). Mówi nam ona o tym, że mamy pisać tylko i wyłącznie funkcjonalności których potrzebujemy teraz. Nie mamy przewidywać jakich funkcjonalności będziemy potrzebować. Skupiamy się na chwili obecnej. Można to też interpretować w drugą stronę - jeśli czegoś już nie potrzebujesz to skasuj to natychmiast


     

Bibliografia
https://stackoverflow.com/questions/15699995/why-unused-code-should-be-deleted
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!
https://en.wikipedia.org/wiki/You_aren't_gonna_need_it
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!
https://www.infoq.com/news/2017/02/dead-code/
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...