Pracuję nad ogromnym projektem (bardziej jak splątaną kombinację dziesiątek mini projektów, których nie można łatwo rozdzielić z powodu złego zarządzania zależnościami, ale to inna dyskusja) w Javie za pomocą eclipse. Wyłączyliśmy już wiele ostrzeżeń w ustawieniach kompilatora, a projekt nadal zawiera ponad 10 000 ostrzeżeń.
Jestem wielkim zwolennikiem próby rozwiązania wszystkich ostrzeżeń, naprawienia wszystkich, jeśli to możliwe, a dla tych, które są sprawdzane i uważane za bezpieczne, pomijaj je. (To samo dotyczy mojej religijnej obsesji na punkcie oznaczania wszystkich zaimplementowanych / zastąpionych metod jako @Override). Moim największym argumentem jest to, że generalnie ostrzeżenia pomagają znaleźć potencjalne błędy podczas kompilacji. Może na 99 na 100 ostrzeżeń ostrzeżenia są nieznaczące, ale myślę, że drapanie się w głowie, które oszczędza po raz pierwszy, że zapobiega poważnemu błędowi, wszystko jest tego warte. (Moim drugim powodem jest mój pozorny OCD z czystością kodu).
Jednak wielu moich kolegów z drużyny nie przejmuje się tym. Czasami naprawiam ostrzeżenia, gdy się na nie natknę (ale wiesz, że to trudne, kiedy dotykasz kodu napisanego przez współpracownika). Teraz, gdy dosłownie jest więcej ostrzeżeń niż klas, zalety ostrzeżeń są bardzo zminimalizowane, ponieważ gdy ostrzeżenia są tak powszechne, nikt nie będzie zawracał sobie głowy ich analizowaniem.
Jak mogę przekonać moich kolegów z drużyny (lub ich moce), że ostrzeżenia należy rozwiązać (lub je stłumić po pełnym zbadaniu)? Czy powinienem przekonać się, że jestem szalony?
Dzięki
(PS Zapomniałem wspomnieć o tym, co ostatecznie skłoniło mnie do opublikowania tego pytania, ponieważ z przykrością zauważyłem, że naprawiam ostrzeżenia wolniej niż się pojawiają)
javac
.
-Wall -Wextra -Werror
(tj. aktywowanie większości dostępnych ostrzeżeń, traktowanie ich wszystkich jako błędów). Zaćmienie C ++ jest jednak prawie bezużyteczne: /