2013-03-04 19 views
5

Tôi đang sử dụng checkstyle để nhận báo cáo về mã nguồn của mình. Câu hỏi này là về số MagicNumberCheck.Kiểu séc của Java, MagicNumberCheck

Tôi đang sử dụng Date/(org.joda.)DateTime trong mã nguồn của tôi như thế này:

DateTime dateTime = new DateTime(2013, 2, 27, 23, 0): 
dateTime.plusHours(57); 

Có cách nào để ngăn chặn các thông báo MagicNumberCheck nếu con số kỳ diệu là trong vòng một ngày hoặc DateTime?

Trả lời

14

Bạn có thể sử dụng Nhận thức đàn ápFilter kiểm tra để thực hiện việc này.

Cấu hình các giá trị thuộc tính tương tự (trong tập tin checkstyle configuration của bạn)

<module name="SuppressionCommentFilter"> 
    <property name="offCommentFormat" value="Check\:OFF\: ([\w\|]+)"/> 
    <property name="onCommentFormat" value="Check\:ON\: ([\w\|]+)"/> 
    <property name="checkFormat" value="$1"/> 
</module> 

Bây giờ cho các dòng cần thiết, bạn có thể làm như

//Check:OFF: MagicNumber 
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0): 
dateTime.plusHours(57); 
//Check:ON: MagicNumber 

này sẽ chỉ ngăn chặn MagicNumber checks, kiểm tra phần còn lại sẽ làm việc đây.

Bạn có thể ngăn chặn Nhiều checcks quá, giống như

//Check:OFF: MagicNumber|Indentation 
Code Here 
//Check:ON: MagicNumber|Indentation 

này sẽ ngăn chặn chỉ MagicNumber and Indentation Checks. Kiểm tra khác sẽ hoạt động tốt.

2

Bạn có thể đàn áp thông báo CheckStyle bằng cách sử dụng những nhận xét

//CHECKSTYLE:OFF 

trước những dòng và

//CHECKSTYLE:ON 

sau đó để kích hoạt lại.

Điều này yêu cầu mô-đun Nhận thức đàn ápFilter để được bật.

Tất nhiên bạn cũng có thể tạo mô-đun của riêng bạn thực hiện chính xác những gì bạn muốn.

+0

Hmm, một giải pháp, nhưng không phải là giải pháp mà tôi có trong đầu. Contra: - Tôi phải làm điều đó mọi lúc - giải pháp này cũng ngăn chặn các cảnh báo khác. –

Các vấn đề liên quan