2011-07-15 26 views
14

Chúng tôi có một dự án Android/Blackberry với một phần chung. Phần đó, rõ ràng, được viết để biên dịch cho cả mục tiêu Android và Blackberry, và do đó, không thể sử dụng một số tính năng Java mới hơn (ví dụ: Integer.valueOf). Tôi muốn bỏ qua một số quy tắc đặc biệt cho phần đó. Có cách nào để làm việc này không?Trong Sonar, làm thế nào để ngăn chặn việc kiểm tra một số quy tắc trong một số gói?

+0

Xem http://stackoverflow.com/questions/10971968/turning-sonar-off-for-certain-code để có giải pháp tốt hơn bằng cách sử dụng '@ SuppressWarnings' –

Trả lời

22

Nếu bạn tách phần chung thành một dự án riêng, bạn có thể thêm Quality Profile mới vào Sonar (nơi bạn đã hủy kích hoạt các quy tắc này) và gán nó cho dự án chung của bạn.

Ngoài ra bạn có thể sử dụng những nhận xét

// NOSONAR 

để supress a warning trên một dòng đơn.

+3

Sonar 2.5 đã giới thiệu chú thích" SuppressWarning "cũng hữu ích cho việc chuyển đổi tắt phân tích http://jira.codehaus.org/browse/SONAR-1760 –

+0

Thật không may, chú thích nằm trong số những tính năng mới hơn không được hỗ trợ trên Blackberry. – Fixpoint

+0

Đối với nhận xét của NOSONAR, có quá nhiều vi phạm để bình luận tất cả. – Fixpoint

10

Đây là một câu hỏi cũ và tôi nghĩ rằng khi đó có một giải pháp tốt hơn:

Thêm // NOSONAR để các lớp có liên quan giải quyết vấn đề này bằng cách nào đó. Nhưng tôi nghĩ rằng đây là vấn đề vì không có quy tắc nào được áp dụng trong trường hợp này chút nào. Có một cách khác để giải quyết mặc dù điều này: Ignore Issues on Multiple Criteria

Ví dụ:

Tôi muốn bỏ qua tất cả các vấn đề chống mã hóa MagicNumbers quy tắc trong com.foobar.domain gói trong tất cả các file java của tôi.

Trong Sonar điều hướng đến dự án của bạn, hãy đến Configuration \ Settings \ vấn đề và trong Bỏ qua vấn đề trên nhiều điều kiện add:

  • Rule Pattern chính: com.puppycrawl.tools.checkstyle.checks .coding.MagicNumberCheck
  • file Path Pattern: com/foobar/miền/java *

Sonar ignore issues

.

Điều này cũng được giải thích rất rõ ràng trong tài liệu được liên kết.

+0

Có cách nào để đạt được điều này bằng cách thêm một cái gì đó tương tự trong SonarSettings.xml từ dự án? –

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