Aktualizacja w 2016: CodePro Analytix nie jest już dostępny, więc przejdź do Findbugs.
odpowiedź Original
lepiej CodePro Analytix:
- poziom Issue (błąd, ostrzeżenie, informacja) może być zmieniona dla każdego elementu. Findbugs może włączać/wyłączać tylko problemy.
- Wiele problemów można skonfigurować szczegółowo (np. Listę zaklętych słów na czarnej liście).
- może pokazać wszystkich kwestii w aktualnie otwartych redaktorów (i dopasowuje to podczas otwierania lub zamykania redakcji), który jest o wiele bardziej wygodnym następnie wybierając pakiety, projektów lub cokolwiek, a następnie ręcznie wywołać skanowanie na nich
- Kilka problemów może zostać naprawionych automatycznie (np. Deklaracja wszystkich parametrów końcowych). W Findbugs wszystko musi być zrobione ręcznie.
lepiej Findbugs:
- jest bardziej skoncentrowana na typowych błędów programistycznych Java (ale nie mają bogaty wybór zagadnień jak CodePro)
- robi więcej analysises że potrzebują dużo informacje kontekstowe
- mogą być używane lokalnie w środowisku Eclipse lub na serwerze integracyjnym, takim jak Hudson/Jenkins
- konfiguracja na Hudson/Jenkins oraz w lokalnej konfiguracji IDE być udostępnionym, dzięki czemu widzisz dokładnie takie same wyniki w swoim IDE i na serwerze
- ma "tryb chmury", gdzie rozproszone zespoły mogą dzielić się swoimi ustaleniami (i oceną wyników), tak aby nie wszystkie sprawdzały te same problemy ponownie
Wszystkie powyższe informacje były bardziej związane ze sposobem pracy z narzędziem. Faktyczne wykrycie błędów może w bardzo dużym stopniu zależeć od projektu, który ma zostać sprawdzony. W przeszłości często sugerowałem, aby używał obu, Findbugs najpierw, CodePro później:
Wykonaj pierwsze kontrole z Findbugs, ponieważ znajduje on bardziej poważne problemy. Ale po tym, jak zostały naprawione, możesz znaleźć się w wielu hałaśliwych kwestiach (lub nawet fałszywych ustaleniach). Dlatego po pracy nad najtrudniejszymi problemami Findbugs, sugeruję przejście na CodePro Analytix, ponieważ ma on mniej fałszywych ustaleń i może być kontrolowany bardziej szczegółowo.
Prawdopodobnie chcesz, aby twoje pytanie było bardziej szczegółowe i mniej oparte na opiniach, w przeciwnym razie prawdopodobnie zostanie przegłosowane. –