Toàn bộ cuốn sách đã được viết trên số liệu mã, do đó bạn may mắn mà bạn đang hỏi một câu hỏi cụ thể hơn. Đối với độ phức tạp chu trình Java, bạn có thể tìm thấy số phương pháp vượt quá độ phức tạp chu kỳ 5 hoặc 6 (bạn chọn số ở đây). Nếu con số này vượt quá một tỷ lệ phần trăm nhất định của số phương pháp của bạn, thì độ phức tạp tổng thể của chu trình là kém. Số lượng tốt cho tỷ lệ phụ thuộc hoàn toàn vào quy mô của dự án, vì vậy có thể thay vì chỉ chia cho số phương pháp, bạn có thể đặt trọng lượng ít hơn vào số lượng phương pháp trong bộ phận bằng cách tăng dần số lượng lớn, chẳng hạn như một căn bậc hai hoặc logarit để thử và làm cho nó ổn định hơn khi dự án phát triển.
Có lẽ một cái gì đó như thế này:
public double evaluateCyclomaticComplexity(List<MethodStat> methodStats) {
int bad = 0;
for (MethodStat methodStat : methodStats)
if (methodStat.getCyclomaticComplexity() >= 6)
bad++;
double denominator = Math.sqrt(methodStats.size());
return bad * 100.0/denominator;
}
càng nhỏ số trở về quê hương, thì càng tốt. Đối với thực sự dự án không hợp lệ, điều này sẽ trả về một cái gì đó lớn hơn 100.
Chức năng mẫu số phải thể hiện tốc độ phát triển của mã phức tạp như thế nào. Thông thường, bạn muốn CC thấp hơn cho mỗi hàm khi mã tăng lên để nó vẫn duy trì được, vì vậy cái gì đó phát triển chậm hơn khi tăng kích thước dự án sẽ là tốt nhất.
Kiểm tra, chỉnh sửa, v.v. Cuối cùng, các chỉ số mã khó có thể đạt được sau khi đọc một số bài báo trên phần mềm nguồn mở sử dụng các số để biểu thị "khả năng bảo trì". Bất cứ điều gì chúng ta có thể đưa ra ở đây có thể được cải thiện rất nhiều nếu đủ thời gian cho nó.