Chúng tôi đang giới thiệu các công cụ phân tích tĩnh vào hệ thống xây dựng cho sản phẩm Java của chúng tôi. Chúng tôi đang sử dụng Maven2 để tích hợp Checkstyle và PMD miễn phí. Tuy nhiên, có vẻ như có sự trùng lặp lớn về chức năng giữa hai công cụ này, về việc thực thi các quy tắc kiểu cơ bản.
Có lợi ích từ việc sử dụng cả hai điều này không? Tôi không muốn duy trì 2 công cụ nếu một công cụ sẽ hoạt động. Nếu chúng ta chọn một, chúng ta nên sử dụng cái nào và tại sao?
Chúng tôi cũng đang có kế hoạch sử dụng FindBugs. Có các công cụ phân tích tĩnh khác mà chúng ta nên xem xét không?
Cập nhật: Sự đồng thuận dường như là PMD được ưu tiên hơn CheckStyle. Tôi không thấy lý do chắc chắn để sử dụng cả hai và tôi không muốn duy trì 2 bộ tệp quy tắc, vì vậy chúng tôi có thể sẽ nhắm đến PMD riêng. Chúng tôi cũng sẽ đưa FindBugs vào, và có lẽ cuối cùng là Macker để thực thi các quy tắc kiến trúc.