Bỏ qua để đến nội dung

Cách tính điểm kiến trúc

Điểm 0–100 là công cụ hỗ trợ review dựa trên finding của một lần phân tích. Nó không phải benchmark tốc độ runtime, bảo mật, độ phủ test hay độ đúng tổng thể.

Mức trừ ban đầu theo severity: error 18, warning 7, info 2. Trong một nhóm, các finding lặp cùng rule đóng góp mức trừ / √thứ tự xuất hiện; lần thứ hai trừ ít hơn lần đầu. Tổng mức trừ của mỗi nhóm tối đa 100.

Trọng số mặc định:

Nhóm Trọng số Rule thường gặp
Architecture 40% Chu trình, fan-in/out, độ sâu phụ thuộc, ranh giới.
Imports 25% Import lặp, export không có importer.
Components 20% Độ dài file component và độ sâu JSX.
Complexity 15% Độ phức tạp nhánh ước lượng.

Cách tính điểm cuối:

điểm = giới_hạn(
100
- tổng(mức trừ nhóm × trọng số nhóm / 100)
- điều chỉnh bảo trì
- điều chỉnh lỗi nghiêm trọng,
0, 100
)

Điều chỉnh bảo trì là min(5, max(0, số finding - 10) × 0.15). Điều chỉnh lỗi nghiêm trọng là min(10, số finding error × 1.5). Các mức trừ trung gian và điểm cuối được làm tròn hai chữ số.

Ví dụ: một warning thuộc architecture tạo mức trừ nhóm là 7. Với trọng số mặc định 40%, mức trừ có trọng số là 2,8. Không có finding khác thì hai điều chỉnh bằng 0; điểm cuối là 97,2 (A+). Báo cáo HTML hiển thị cùng các thành phần này.

Hạng Điểm
A+ 95–100
A 90–dưới 95
B 80–dưới 90
C 70–dưới 80
D 55–dưới 70
F Dưới 55

Hạng cao trên phạm vi quét quá nhỏ dễ gây hiểu nhầm. App Vite smoke mẫu chỉ có một module và đạt 100 vì không có finding; nó không phải chuẩn so sánh với app khác.

Ghi đủ bốn nhóm trong .nklattice.json và cho tổng bằng 100:

{
"analysis": {
"weights": {
"architecture": 50,
"imports": 20,
"components": 20,
"complexity": 10
}
}
}

Tổng sai làm phân tích dừng. Đổi trọng số thay đổi điểm của cùng bộ finding, không đổi rule được chạy. Đổi ngưỡng có thể thay cả finding lẫn điểm. Xem Policy kiến trúc.

Chỉ so hai lần chạy khi phạm vi source, phiên bản scanner, rule và trọng số tương đương. Hãy dùng danh sách finding cùng file thay đổi để quyết định việc sửa; tăng vài phần điểm chưa chứng minh mã tốt hơn.