- Nieużywany kod to większa przestrzeń wyszukiwania, którą możesz przeczytać zarówno dla Ciebie, jak i dla wszystkiego, co zazwyczaj skanuje Twój kod. Na przykład kompilator, IDE, znajdź w pliku, debugowanie, analiza statyczna, więcej do przejrzenia, dołączenie pliku, wyewidencjonowanie z VCS itp. Spowalnia to te procesy i dodaje znaczący szum.
- Nieużywany kod nie zawsze jest martwy. Może to nastąpić w pewnych okolicznościach. Może to nie tylko stanowić źródło błędów i problemów z wydajnością, ale może również stanowić zagrożenie dla bezpieczeństwa. W odniesieniu do wydajności może to wyrażać się w nieoczekiwany sposób, na przykład w przypadku większych pobrań.
- Niewykorzystany kod rodzi nieużywany kod. Jeśli usuniesz wywołanie funkcji, a następnie wyszukasz zastosowania tej funkcji, aby sprawdzić, czy nadal jest potrzebne, możesz zobaczyć dopasowanie z poprzedniego nieużywanego kodu i założyć, że możesz go zachować. Im więcej masz nieużywanego kodu, tym więcej przeskoków pozwala określić, czy kod jest nieużywany.
- Niewykorzystany kod nadal często wymaga konserwacji. Powiedzmy, że A i B zależą od C. Z tych B nie jest używane. Zmieniasz C, a następnie B nie będzie kompilować, ponieważ usunąłeś element członkowski ze struktury w C, której wymagał B, teraz musisz naprawić B lub aktywnie usunąć go z kompilacji. Powinieneś po prostu go usunąć.
Ta lista może wydawać się prosta, ale każdy z nich przejawia się na setki różnych sposobów, dodając opór, który zapewnia synergię w całym procesie rozwoju. Nieefektywność można często udowodnić lub wykazać w prosty i matematyczny sposób.
W odpowiedzi na Twoje uwagi ...
- Kod jest już napisany, a wysiłki są wydawane
Ale często trzeba to utrzymywać. Będzie również nadal pojawiać się w rzeczach, takich jak znajdowanie w pliku.
- Kod można testować w środowisku syntetycznym i rzeczywistym
Nie jestem pewien, co masz na myśli przez to. Myślę, że jest taki sam jak poprzedni. Masz na myśli, że kod jest już przetestowany, a jego wyczyszczenie może oznaczać konieczność ponownego przetestowania. Jest to koszt, który zwykle jest tego wart, ponieważ opłaci się w 90% przypadków i aby uniknąć sytuacji, w której powinien zostać wyczyszczony przed rozpoczęciem produkcji. Prawie cały kod ma dwie iteracje, spraw, aby działał, spraw, aby był czysty. Powód, dla którego trzeba testować dwukrotnie, jest taki, że ktoś pominął ostatni krok. Jeśli twój kod jest również zbyt drogi, aby sprawdzić, czy odczytać różnice, przetestować (co prawdopodobnie jest bałagan z dużą ilością nieużywanego kodu), itd., To kolejny problem.
- Jeśli jest dobrze zorganizowany (zgrupowany, oddzielny pakiet, luźno powiązany itp.), Nie przeszkadza Ci w ogólnej analizie lub refaktoryzacji kodu
Twój kod i tak powinien być taki, ale to tylko umiarkowanie łagodzi problem. To najdziwniejszy argument, gdy słyszy się, że coś powinno być zorganizowane, ale nieczyste. To normalne, że próbujesz zachować modularny kod i zmniejszyć zależności, ale chcesz również kodu wielokrotnego użytku, a jeśli wszystkie twoje moduły są wyspami, prawdopodobnie nie byłeś SUCHY. Może się również zdarzyć, że nadmiernie odsprzęgasz, co nie robi nic, ale łagodzi problem nieużywanego niechlujnego kodu.
- Kod może zostać użyty w przyszłości
Wiele osób ponad ceni napisany kod. Jeśli nie jest teraz używany, jest to deadweight, aw rzeczywistości, gdy idziesz tą ścieżką, często tylko ułamek nieużywanego kodu staje się kodem używanym. Najprawdopodobniej nieużywany kod prawdopodobnie nie będzie użyteczny lub używany. Najprawdopodobniej zostanie ponownie użyty kod, który już jest używany.
Co gorsza, nieużywany kod nie ma celu. Kiedy ktoś przyjdzie i będzie musiał zmienić coś, co ostatecznie wpłynie na nieużywany kod, będzie zaskoczony, siedząc tam, próbując dowiedzieć się, co ten nieużywany kod musi robić bez celu.
Ludziom łatwo jest się tak czuć, gdy zaczynając pracę nad kodem, trzeba dużo wysiłku. Jednak gdy już biegnie i przyzwyczaisz się do tego kod, staje się jak jazda na rowerze. Przekonasz się, że koszt napisania takiego fragmentu kodu gwałtownie spada, koszt jego utrzymania rośnie.
- Po usunięciu autor może czuć się nieswojo
To jest problem autora. Z jednej strony pozostawienie mnóstwa niewykorzystanego kodu dla innych jest samolubne. Z drugiej strony, jeśli autor stawia swoje uczucia na jakości kodu, prawdopodobnie nie powinien kodować. Idziesz dalej z tym, że nie możesz naprawić ich kodu, gdy jest zepsuty, ponieważ zrani ich uczucia. To nie jest dobry znak, jeśli ktoś jest przywiązany do kodu tylko dlatego, że jest jego, a nie dlatego, że jest dobry. Autor powinien czuć się zadowolony, że jego kod został wyczyszczony. To tak, jakby ktoś wynosił dla Ciebie śmieci i wrzucał je do kosza.
Byłbym oszołomiony, gdyby ktoś zrobił to za mnie. To, co może ułatwić przezwyciężenie tych uczuć, to zamiast czekać, aż ktoś inny to zrobi, spróbuje zrobić to sam. Kontynuuj iteracyjne przepisywanie kawałka kodu, który zrobiłeś, sprawiając, że działa lepiej, porusza się zwięźle, z mniejszym nadmiarem i bardziej elastycznym, ale za każdym razem z mniejszą ilością kodu. Staraj się nie czuć dobrze z ilością kodu, ale z tym, ile możesz osiągnąć przy niewielkiej ilości kodu. To mielenie w celu podniesienia poziomu, a kiedy już to zrobisz, cały kod będzie na dobrym poziomie, więc nie będzie trzeba go tak często poziomować.