Ja, ja i ja, byliśmy zarówno producentem, jak i opiekunem starszego kodu. Jeśli Twoje narzędzie generuje „tysiące naruszeń” (a nawet setki w tym przypadku), zapomnij o narzędziu, nie ma to zastosowania do sytuacji ...
Zakładam, że pierwotni programiści już dawno minęli i są niedostępni do dyskusji. Więc nikogo nie ma w pobliżu, kto rozumie, dlaczego i dlaczego styl projektowania i kodowania. Korekta setek lub tysięcy naruszeń nie będzie polegać na przepisywaniu kilku wierszy kodu tu i tam. Zamiast tego niewątpliwie wymaga to refaktoryzacji / ponownego rozkładu funkcjonalnego. Próbujesz zrobić to z dowolną dużą istniejącą bazą kodu, bez dogłębnego zrozumienia jej obecnego projektu, i na pewno wprowadzisz nowy zestaw błędów / problemów / itp. Nowa puszka robaków jeszcze gorsza niż ta, którą teraz masz (lub gorsza niż twoje narzędzie >> uważa << teraz masz).
Jedynym rozsądnym podejściem do rozwiązania problemu „tysięcy naruszeń” byłoby przepisanie od zera. Długi i kosztowny wysiłek, a sprzedaż prawie niemożliwa do sprzedania kierownictwu. I w tym przypadku prawdopodobnie mają rację ...
Starszy kod zwykle wymaga tylko poprawek. Jak dla y2k lub kiedy zapasy wzrosły z 256. na dziesiętne. Zrobiłem mnóstwo tego cr * p. I wiele innych podobnych rzeczy. Zazwyczaj jest to dość „precyzyjne”, ponieważ można „odczytać” czasami zły styl, zły rozkład funkcjonalny, zły itp. I zlokalizować zbiór miejsc, które należy zmodyfikować. A zatem to, co dzieje się „między tymi miejscami”, tj. Jaki jest przepływ na wyższym poziomie, może pozostać dla Ciebie tajemnicą. Upewnij się tylko, że rozumiesz zlokalizowaną funkcjonalność, którą zmieniasz, a następnie przetestuj, przetestuj, przetestuj pod kątem skutków ubocznych itp., Twoja zlokalizowana wiedza nie będzie w stanie przewidzieć.
Jeśli nie możesz przejść przez taki kod, być może nie jesteś najlepszą osobą do utrzymania starszego kodu. Niektórzy ludzie mogą zacząć od pustego ekranu i pisać piękne programy, ale nie mogą zacząć od dużej bazy kodu kodu innych ludzi i utrzymywać go. Inne osoby mogą utrzymywać kod, ale nie mogą zaczynać od zera. Niektórzy mogą zrobić jedno i drugie. Upewnij się, że odpowiednie osoby zachowują Twój starszy kod.
Od czasu do czasu możesz chcieć przeprojektować i przepisać starszą bazę kodu od zera, gdy wymagania biznesowe (lub inne) zmieniają się do tego stopnia, że „usprawnienia” siedzących spodni po prostu nie są już w stanie sprostać zmienionym wymaganiom . W tym momencie równie dobrze możesz zacząć od napisania nowego dokumentu wymagań funkcjonalnych, upewniając się, że wszyscy interesariusze są na pokładzie. Zasadniczo jest to zupełnie nowa gra w piłkę.
Jedyną >> niewłaściwą << rzeczą do zrobienia jest próba zachowania starszej wersji kodu w taki sam sposób, jak w przypadku nowego programowania. I ta jedna zła rzecz wydaje się być dokładnie ścieżką, którą chciałbyś pójść w dół :) Uwierz mi na słowo, to nie jest to, co chcesz zrobić.