Satu hal yang belum saya lihat sejauh ini adalah bahwa ada plugin untuk IDE yang akan memberlakukan aturan CheckStyle pada kode Anda, sedangkan plugin PMD hanya akan melaporkan pelanggaran. Misalnya, dalam proyek multi-situs melalui beberapa tim pemrograman, penting untuk secara aktif menegakkan standar, daripada hanya melaporkannya.
Kedua alat memiliki plugin yang tersedia untuk IntelliJ, NetBeans, dan Eclipse (menurut saya ini mencakup sebagian besar penggunaan). Saya tidak begitu familiar dengan NetBeans, jadi hanya bisa mengomentari IntelliJ dan Eclipse.
Bagaimanapun, plugin PMD untuk IntelliJ, dan Eclipse, akan menghasilkan laporan sesuai permintaan tentang pelanggaran PMD dalam basis kode proyek.
Plugin CheckStyle, di sisi lain, akan menyoroti pelanggaran dengan cepat, dan dapat (setidaknya untuk IntelliJ, saya memiliki lebih sedikit pengalaman dengan Eclipse) dikonfigurasi untuk secara otomatis mengonversi beberapa masalah (misalnya untuk 'OneStatementPerLine', akan menempatkan CR-LF antara pernyataan, untuk 'NeedBraces', akan menambahkan tanda kurung jika hilang, dll.). Jelas, hanya pelanggaran yang lebih sederhana yang dapat diperbaiki secara otomatis, tetapi ini masih membantu proyek lama, atau proyek yang berlokasi di beberapa lokasi.
'Sesuai permintaan' untuk PMD berarti bahwa pengembang harus secara sadar memutuskan untuk menjalankan laporan. Sedangkan pelanggaran Checkstyle secara otomatis dilaporkan kepada mereka saat berkembang. Sementara PMD memang mengandung seperangkat aturan yang lebih luas, menurut saya penegakan / pelaporan pelanggaran otomatis dalam IDE sepadan dengan kerumitan dalam mempertahankan 2 set aturan.
Jadi untuk setiap proyek yang saya kerjakan, kami menggunakan kedua alat, Checkstyle yang diterapkan di IDE, PMD dilaporkan di IDE, dan keduanya dilaporkan dan diukur dalam build (melalui Jenkins).