Trong Sonar, cho một lớp Java Đặc biệt, tôi thấy:Sự khác nhau giữa "phức tạp" metric và "phức tạp/phương pháp" metric
Complexity: 830
Complexity /method: 8,1
Làm thế nào bạn có thể giải thích sự khác biệt giữa hai số liệu?
Mức độ phức tạp của lớp có phức tạp không?
Mức độ phức tạp tối đa mà một lớp học nên ở dưới? Tôi biết các phương thức nên nhỏ hơn 10 đối với sự phức tạp của phương thức, nhưng số phức tạp của lớp tối đa mà một lớp nên phù hợp để được coi là không phức tạp là gì?
Cảm ơn.
EDIT
Tôi cũng nhìn vào hành vi vi phạm quy tắc Cyclomatic-phức tạp trong file.
Đối với một số phương pháp, sonar nói với những con số khác nhau phức tạp (trong tiếng Pháp):
"La complexité cyclomatique de la classe est de 28 alors que le tối đa autorisé est de 10."
bằng tiếng Anh:
"Độ phức tạp chu trình lớp là 28 nhưng tối đa cho phép là 10".
Tôi không hiểu tại sao nó nói "độ phức tạp của chu trình lớp" vì nó có vẻ là một "phương thức phức tạp về chu kỳ".
Ngoài ra, lớp học được đề cập không xuất hiện trên lớp phức tạp nhất được sắp xếp theo độ phức tạp/phương pháp trung bình, vì sonar cho biết nó chỉ có độ phức tạp trung bình là 8,1.
Cảm ơn câu trả lời của bạn. Có lẽ nó là tôi nhưng nó không phải là rõ ràng rằng "phức tạp" có nghĩa là "tổng hợp các phương pháp phức tạp", nhưng bây giờ nó có vẻ hiển nhiên thực sự. Trang wiki không nói rằng nó là tổng của tất cả các phương thức phức tạp. –
@ Jérôme: Chính thức, tổng số phức tạp của McCabe cho một lớp học được gọi là WMC (Phương pháp trọng số cho mỗi lớp) như được mô tả [ở đây] (https://sonarqube.sourcemeter.com/plugins/resource/491408?page=sm-help #Complexity). –
liên kết được trình bày không phân biệt giữa các chỉ số phức tạp mà xử lý âm thanh: như CoreMetrics.FILE_COMPLEXITY và CoreMetrics.COMPLEXITY – XtianGIS