Z doświadczeniem przychodzi osąd, aby wiedzieć, kiedy kod jest naprawdę zły, a kiedy jest napisany w innym stylu. Jeśli jest on w pełni funkcjonalny i łatwy w utrzymaniu, a zakres testów automatycznych jest dobry , nie jest źle i wystarczy otworzyć umysł. Prawdopodobnie się czegoś nauczysz. Zły kod nie działa i nie można go naprawić.
Oto kilka znaczników naprawdę złego kodu:
- Duże bloki logiki zostały zduplikowane zamiast refaktoryzowane.
- Zależności kołowe między klasami lub pakietami
- Wysokie sprzęgło; niska kohezja
- Nieużywane zmienne, zapisywanie do zmiennych, które nigdy nie są odczytywane, nieosiągalny kod.
- Reimplementacja standardowych funkcji biblioteki, np. Formatowanie daty.
- Niepotrzebnie złożona logika; tj. 50 linii kodu, przy czym 10 dobrze by to zrobiło.
- Brak komentarzy opisujących cel klas lub metod.
- Wprowadzające w błąd komentarze.
Brak zautomatyzowanych testów nie oznacza, że kod jest zły, ale oznacza, że projekt jest zły.
To nie jest kwestia gustu; praktyki te powodują, że utrzymanie programu jest znacznie droższe.
Jak się przygotowujesz?
Zaakceptuj fakt, że potrzeba czasu, aby móc pomyślnie pracować nad nową bazą kodu. Jeśli jest „w pełni konserwowalny”, a zasięg testu jest wysoki, zajmuje to mniej czasu, ale nadal nie nastąpi to natychmiast. Jeśli kod jest zły, pierwszą rzeczą, którą robię, jest ostrzeżenie interesariuszy, że jest w złym stanie, a początkowy postęp będzie powolny. Jeśli są sceptyczni, potwierdzam swoje twierdzenie, pokazując próbkę problemów w rzeczywistym kodzie i wyjaśniając, jak różni się on od najlepszych praktyk branżowych.