Lihatlah penggunaan supressionCommentFilter di http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter . Anda harus menambahkan modul ke checkstyle.xml Anda
<module name="SuppressionCommentFilter"/>
dan itu dapat dikonfigurasi. Dengan demikian Anda dapat menambahkan komentar ke kode Anda untuk mematikan checkstyle (di berbagai level) dan kemudian kembali lagi melalui penggunaan komentar dalam kode Anda. Misalnya
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
Atau bahkan lebih baik, gunakan versi yang lebih tweak ini:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
yang memungkinkan Anda untuk mematikan pemeriksaan khusus untuk baris kode tertentu:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
* Catatan: Anda juga harus menambahkan FileContentsHolder
:
<module name="FileContentsHolder"/>
Lihat juga
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
di bawah SuppressionFilter
bagian pada halaman yang sama, yang memungkinkan Anda untuk mematikan cek individu untuk sumber daya pola yang cocok.
Jadi, jika ada di checkstyle.xml Anda:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Anda dapat mematikannya di file xml penindasan Anda dengan:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Metode lain, sekarang tersedia di Checkstyle 5.7 adalah untuk menekan pelanggaran melalui @SuppressWarnings
anotasi java. Untuk melakukan ini, Anda perlu menambahkan dua modul baru ( SuppressWarningsFilter
dan SuppressWarningsHolder
) di file konfigurasi Anda:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Kemudian, dalam kode Anda, Anda dapat melakukan hal berikut:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
atau, untuk banyak penindasan:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
NB:checkstyle:
Awalan " " adalah opsional (tetapi disarankan). Menurut dokumen nama parameter harus dalam huruf kecil semua, tetapi praktek menunjukkan setiap kasus berfungsi.