Chuyển đến nội dung chính
Hiểu rõ từng lập trình viên giỏi ở đâu và có thể phát triển ở đâu. Skill Matrix ánh xạ mức độ thành thạo của mỗi thành viên nhóm trên bốn lĩnh vực chuyên sâu — Security, Performance, Correctness, và Patterns — sử dụng heatmap theo màu sắc và biểu đồ radar cực giúp thể hiện điểm mạnh và khoảng trống một cách trực quan. Điểm được tính từ các phát hiện code review thực tế trong cửa sổ 90 ngày liên tục, nên ma trận luôn phản ánh công việc gần đây thay vì lịch sử cũ. Để có góc nhìn bổ sung kết hợp chất lượng và năng suất, xem Bảng xếp hạng.

Những gì bạn có được

  • Heatmap theo màu sắc hiển thị điểm của tất cả lập trình viên cùng lúc
  • Biểu đồ radar theo từng lập trình viên thể hiện hình dạng mức độ thành thạo trên bốn lĩnh vực
  • Lớp phủ cấp nhóm so sánh người thực hiện tốt nhất với trung bình nhóm
  • Điểm mạnh và lĩnh vực phát triển được tự động xác định cho mỗi lập trình viên
  • Xu hướng phát hiện hàng tuần và theo dõi giải quyết
  • Xác định mô hình lặp lại qua force graph do AI tạo ra

Bốn lĩnh vực

Mỗi lĩnh vực tương ứng với một agent chuyên gia review code của bạn:
Lĩnh vựcChuyên giaNội dung đo lường
SecurityChuyên gia bảo mậtLỗ hổng bảo mật, lộ bí mật, rủi ro injection, vấn đề xác thực
PerformanceChuyên gia hiệu suấtQuery kém hiệu quả, memory leak, vấn đề N+1, cấp phát không cần thiết
CorrectnessChuyên gia tính đúng đắnLỗi logic, trường hợp biên, không khớp kiểu dữ liệu, thiếu validation
PatternsChuyên gia mô hìnhAnti-pattern, code smell, vi phạm style, vấn đề khả năng bảo trì

Cách tính điểm

Điểm sử dụng phương pháp Bayesian shrinkage — một phương pháp thống kê tính đến lượng dữ liệu chúng ta có về mỗi lập trình viên. Lập trình viên có ít MR hơn sẽ có điểm được kéo về phía trung bình nhóm, ngăn chặn điểm số cực đoan không đáng tin cậy từ mẫu nhỏ.
  1. Thu thập phát hiện — Tất cả phát hiện từ các agent chuyên gia Advanced code review trong 90 ngày qua được nhóm theo lập trình viên và lĩnh vực.
  2. Chuẩn hóa — Với mỗi lập trình viên trong mỗi lĩnh vực, tính số phát hiện mỗi MR.
  3. Kéo về trung bình nhóm — Tỷ lệ của mỗi lập trình viên được pha trộn với trung bình toàn nhóm. Lập trình viên có nhiều MR giữ tỷ lệ gần với giá trị quan sát; lập trình viên có ít MR được kéo gần hơn về trung bình nhóm.
  4. Chấm điểm so với ngưỡng — Tỷ lệ đã điều chỉnh được so sánh với ngưỡng theo lĩnh vực: Score = max(0%, 1 - adjusted_rate / threshold).
  5. Lấy trung bình — Bốn điểm lĩnh vực được lấy trung bình thành một Điểm Tổng thể.
Lập trình viên cần ít nhất 3 MR được review ở chế độ Advanced để xuất hiện trên Skill Matrix. Review ở chế độ Fast không được tính vì chúng không sử dụng các agent chuyên gia theo lĩnh vực.

Tại sao dùng Bayesian shrinkage?

Một lập trình viên gửi 7 MR với không có phát hiện nào không nhất thiết giỏi hơn người gửi 67 MR với một số phát hiện — chúng ta chỉ đơn giản là có ít dữ liệu hơn về họ. Bayesian shrinkage giải quyết vấn đề này bằng cách xử lý mẫu nhỏ với mức độ không chắc chắn phù hợp:
  • Lập trình viên tần suất cao — điểm phản ánh sát tỷ lệ phát hiện thực tế của họ
  • Lập trình viên tần suất thấp — điểm được kéo về phía trung bình nhóm cho đến khi có đủ dữ liệu
Điều này ngăn chặn bẫy thường gặp khi thành viên mới hoặc người đóng góp không thường xuyên xuất hiện với điểm số hoàn hảo (hoặc tệ) một cách sai lệch.

Đọc hiểu điểm số

Điểm Tổng thểNhãnDiễn giải
80% trở lênXuất sắcCode sạch nhất quán trên tất cả lĩnh vực
60 – 79%TốtTrên trung bình với một số lĩnh vực cần cải thiện nhỏ
40 – 59%KháCòn chỗ phát triển trong nhiều lĩnh vực
20 – 39%Cần cải thiệnNhiều phát hiện đáng kể trong một số lĩnh vực
Dưới 20%YếuTỷ lệ phát hiện cao trên nhiều lĩnh vực
Điểm 100% trong một lĩnh vực nghĩa là không có phát hiện từ chuyên gia đó và trung bình nhóm bằng 0 trong lĩnh vực đó. Điểm được đo theo ngưỡng lĩnh vực cố định, nên điểm của lập trình viên tần suất cao vẫn ổn định khi thành phần nhóm thay đổi. Điểm của lập trình viên tần suất thấp có thể thay đổi nhẹ vì tỷ lệ của họ được pha trộn với trung bình nhóm.
Tập trung vào lĩnh vực có điểm thấp nhất trước tiên. Tăng từ 40% lên 60% trong một lĩnh vực có tác động lớn hơn đến điểm tổng thể so với tăng từ 85% lên 95% ở lĩnh vực khác.

Chỉ dành cho chế độ Advanced

Skill Matrix chỉ sử dụng các phát hiện từ Advanced code review, nơi bốn agent chuyên gia (Security, Performance, Correctness, Patterns) phân tích code của bạn độc lập. MR được review ở chế độ Fast sử dụng một agent đa năng mà các phát hiện của nó không được phân loại theo lĩnh vực, nên không thể đóng góp vào điểm theo lĩnh vực. Nếu workspace của bạn sử dụng chế độ Fast, Skill Matrix sẽ hiển thị ít lập trình viên đủ điều kiện hơn hoặc có thể trống. Chuyển sang chế độ Advanced trong cài đặt code review để có đầy đủ độ phủ Skill Matrix.

Skill Matrix xuất hiện ở đâu

Skill Matrix nhóm (heatmap)

Tab Skill Matrix trên trang Analytics hiển thị bảng heatmap của tất cả lập trình viên đủ điều kiện. Mỗi ô được tô màu từ xanh lá (xuất sắc) đến đỏ (yếu), với điểm tổng thể và số MR mỗi lập trình viên. Hàng Trung bình Nhóm ở cuối cung cấp đường cơ sở. Nhấp vào bất kỳ hàng lập trình viên nào để mở hồ sơ.

Skill Radar (biểu đồ cực)

Bên dưới heatmap, biểu đồ radar cực chồng lấp 3 lập trình viên đứng đầu với đường Trung bình Nhóm đứt nét. Điều này cung cấp ảnh chụp nhanh trực quan về ai dẫn đầu trong mỗi lĩnh vực và hình dạng nhóm khác nhau ở đâu.

Hộp thoại Hồ sơ Lập trình viên

Nhấp vào bất kỳ lập trình viên nào để mở hồ sơ đầy đủ, bao gồm:
PhầnMô tả
Tiêu đề hồ sơAvatar, số MR, tổng phát hiện, điểm chất lượng trung bình, phần trăm kỹ năng tổng thể
Skill RadarBiểu đồ radar cực của cả bốn lĩnh vực cho lập trình viên này
Tỷ lệ giải quyếtPhần trăm phát hiện được giải quyết trước khi merge, hiển thị dưới dạng thanh tiến trình
Lĩnh vực tập trungĐiểm mạnh tự động xác định (2 lĩnh vực đứng đầu) và Lĩnh vực phát triển (2 lĩnh vực đứng cuối)
Xu hướng phát hiện hàng tuầnBiểu đồ cột xếp chồng theo mức độ nghiêm trọng trong 90 ngày qua
Pattern Force GraphCác mô hình lặp lại do AI xác định, trực quan hóa dưới dạng mạng lưới hướng lực

Trường hợp sử dụng

1. Phát triển kỹ năng có mục tiêu

Dùng Lĩnh vực tập trung được tự động xác định để định hướng các cuộc trò chuyện 1:1. Nếu lập trình viên đạt 90% trong Correctness nhưng 45% trong Security, hãy ghép họ với mentor có chuyên môn bảo mật hoặc giao các nhiệm vụ liên quan đến Security để xây dựng kỹ năng đó.

2. Phân công code review cân bằng

Định tuyến PR quan trọng đến reviewer có điểm cao nhất trong lĩnh vực liên quan. Lập trình viên với 95% Security là người phù hợp để review các thay đổi về xác thực.

3. Theo dõi tiến bộ theo thời gian

Xu hướng phát hiện hàng tuần cho thấy liệu số phát hiện của lập trình viên có đang giảm không. Xu hướng giảm trong lĩnh vực vốn yếu xác nhận rằng coaching hoặc đào tạo đang có hiệu quả.

4. Lập kế hoạch thành phần nhóm

Biểu đồ radar lớp phủ nhóm tiết lộ điểm mù tập thể. Nếu cả nhóm có điểm thấp trong Performance, hãy cân nhắc đầu tư vào đào tạo hoặc công cụ tập trung vào hiệu suất.
Điểm dựa trên ngưỡng tuyệt đối, nên ổn định khi thành phần nhóm thay đổi. Tuy nhiên, hàng trung bình nhóm sẽ thay đổi khi thành viên gia nhập hoặc rời đi. Dùng điểm cá nhân để theo dõi phát triển cá nhân và trung bình nhóm để chuẩn hóa tổ chức.

Liên quan

Code Review overview

Cấu hình và quản lý code review tự động cho kho lưu trữ của bạn

Mention commands

Kích hoạt autofix và đặt câu hỏi trực tiếp từ bình luận MR/PR