Có một số liệu nào tương tự như thước đo Độ phức tạp McCabe để đo mức độ gắn kết của một thói quen và cũng như mức độ lỏng lẻo (hoặc chặt chẽ) của thói quen được kết hợp với mã khác trong cùng một mã cơ sở không?
Có một số liệu nào tương tự như thước đo Độ phức tạp McCabe để đo mức độ gắn kết của một thói quen và cũng như mức độ lỏng lẻo (hoặc chặt chẽ) của thói quen được kết hợp với mã khác trong cùng một mã cơ sở không?
Câu trả lời:
Tôi nghĩ rằng số liệu bạn đang tìm kiếm là LCOM4, mặc dù nó áp dụng nhiều hơn cho các lớp.
Sonar giải thích nó độc đáo ở đây :
... số liệu: LCOM4 (Phương pháp thiếu liên kết) để đo lường mức độ gắn kết của các lớp. Giải thích số liệu này khá đơn giản vì giá trị 1 có nghĩa là một lớp chỉ có một trách nhiệm (tốt) và giá trị X có nghĩa là một lớp có thể có trách nhiệm X (xấu) và nên được tái cấu trúc / phân tách.
Không có phép thuật nào ở đây, chỉ có lẽ thường. Hãy lấy một ví dụ đơn giản với Trình điều khiển lớp. Lớp này có hai trường: Xe và Não và năm phương thức: drive (), goTo (), stop (), getAngry () và drinkCoffee (). Dưới đây là biểu đồ phụ thuộc giữa các thành phần. Có ba khối thành phần liên quan, vì vậy LCOM4 = 3, do đó, lớp dường như có ba trách nhiệm khác nhau và phá vỡ Nguyên tắc Trách nhiệm duy nhất.
...
Đó là một công cụ tuyệt vời, nếu bạn có thể sử dụng nó. :)
brain.setAngry(driver)
? car.applyBreaks(driver)
?
Sự không ổn định được hỗ trợ trong các công cụ số liệu mã khác nhau.