Мы вводим инструменты статического анализа в систему сборки для нашего продукта Java. Мы используем Maven2, поэтому Checkstyle и PMD интеграция приходит бесплатно. Однако похоже, что существует большое перекрытие функциональности между этими двумя инструментами с точки зрения соблюдения основных правил стиля.
Есть ли польза от использования этих двух? Я не хочу поддерживать 2 инструмента, если вы будете работать. Если мы выберем один, который мы должны использовать и почему?
Мы также планируем использовать FindBugs. Существуют ли другие инструменты статического анализа, на которые мы должны обратить внимание?
Обновление: Похоже, что консенсус PMD предпочтительнее CheckStyle. Я не вижу веских оснований для использования обоих, и я не хочу поддерживать 2 набора файлов правил, поэтому мы, вероятно, будем стремиться исключительно к PMD. Мы также будем приводить FindBugs и, возможно, в конечном итоге, Macker для соблюдения архитектурных правил.