Wprowadzamy narzędzia do analizy statycznej do systemu kompilacji naszego produktu Java. Używamy Maven2, więc integracja Checkstyle i PMD jest bezpłatna. Wygląda jednak na to, że funkcjonalność tych dwóch narzędzi w dużym stopniu pokrywa się pod względem egzekwowania podstawowych zasad stylu.
Czy korzystanie z obu tych opcji przynosi korzyści? Nie chcę utrzymywać dwóch narzędzi, jeśli jedno będzie działać. Jeśli wybierzemy jeden, którego powinniśmy użyć i dlaczego?
Planujemy również użyć FindBugs. Czy są inne narzędzia do analizy statycznej, którym powinniśmy się przyjrzeć?
Aktualizacja: Wydaje się, że konsensus jest taki, że PMD jest preferowane w stosunku do CheckStyle. Nie widzę solidnego powodu, aby używać obu i nie chcę utrzymywać 2 zestawów plików reguł, więc prawdopodobnie będziemy dążyć wyłącznie do PMD. Wprowadzimy również FindBugs i być może ostatecznie Mackera, aby wymusić reguły architektoniczne.