Kiểm tra việc sử dụng supressionVerFilter tại http://checkstyle.sourceforge.net/config_filters.html#SuppressionVerFilter . Bạn sẽ cần thêm mô-đun vào tệp checkstyle.xml của bạn
<module name="SuppressionCommentFilter"/>
và nó có thể cấu hình. Do đó, bạn có thể thêm nhận xét vào mã của mình để tắt kiểu kiểm tra (ở nhiều cấp độ khác nhau) và sau đó bật lại thông qua việc sử dụng nhận xét trong mã của bạn. Ví dụ
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
Hoặc thậm chí tốt hơn, sử dụng phiên bản tinh chỉnh hơn này:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
cho phép bạn tắt kiểm tra cụ thể cho các dòng mã cụ thể:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
* Lưu ý: bạn cũng sẽ phải thêm FileContentsHolder
:
<module name="FileContentsHolder"/>
Xem thêm
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
phía dưới cái SuppressionFilter
phần trên cùng trang đó, cho phép bạn tắt các kiểm tra riêng lẻ cho các tài nguyên phù hợp với mẫu.
Vì vậy, nếu bạn có trong checkstyle.xml của mình:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Bạn có thể tắt nó trong tệp xml đàn áp của mình bằng:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Một phương pháp khác, hiện có sẵn trong Checkstyle 5.7 là ngăn chặn các vi phạm thông qua @SuppressWarnings
chú thích java. Để làm điều này, bạn sẽ cần thêm hai mô-đun mới ( SuppressWarningsFilter
và SuppressWarningsHolder
) trong tệp cấu hình của mình:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Sau đó, trong mã của bạn, bạn có thể làm như sau:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
hoặc, cho nhiều lần đàn áp:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
NB: Các " checkstyle:
" là tùy chọn (nhưng khuyến khích). Theo các tài liệu, tên tham số phải ở dạng chữ thường, nhưng thực tế chỉ ra bất kỳ trường hợp nào hoạt động.