Công cụ để xác định người đánh giá tiềm năng cho một thay đổi được đề xuất


8

Có một công cụ lấy đầu vào là một bản vá được đề xuất và một kho lưu trữ git và xác định các nhà phát triển là những ứng cử viên tốt nhất để xem xét các bản vá? Nó sẽ sử dụng lịch sử git để xác định các tác giả có nhiều kinh nghiệm nhất với các tệp / phần mã đang được thay đổi.

Chỉnh sửa: Ca sử dụng là một dự án nguồn mở lớn ( OpenStack Compute ), trong đó các đề xuất hợp nhất xuất hiện và tôi thấy một đề xuất hợp nhất trên một đoạn mã tôi không quen thuộc và tôi muốn thêm tên của người khác vào danh sách những người đánh giá được đề xuất để người đó nhận được thông báo để xem xét đề xuất hợp nhất.


Đó là ý tưởng tồi (hoàn toàn sai) khi đề xuất khỉ mã thông thường làm người đánh giá mã dựa trên lịch sử tệp
Lazy Badger

1
@Lazy: Tại sao? Có gì sai với những gì OP đang tìm kiếm và tại sao "Nó tệ (hoàn toàn sai) ...."? Tôi thấy một công cụ như vậy là rất hữu ích tại nơi làm việc của tôi.
mattnz

4
Xin lỗi - sự khác biệt trong ý tưởng về mục đích xem xét mã - chúng tôi không sử dụng "khỉ mã". Ở nơi làm việc của tôi, tất cả chúng ta đều bằng nhau (một số có thể bằng nhau hơn những người khác), Đánh giá mã được sử dụng cho mục đích giảng dạy cũng như chất lượng mã, vì vậy tất cả được mong đợi là người đánh giá và tất cả dự kiến ​​sẽ được xem xét.
mattnz

1
Bạn muốn định lượng "kinh nghiệm nhất" như thế nào? Hầu hết các dòng mã? Chỉnh sửa gần đây nhất? Nếu tôi đã viết toàn bộ tệp / mô-đun một năm trước và không chạm vào nó, và ai đó đã thực hiện một vài thay đổi nhỏ vào tuần trước, ai là người phù hợp? Tôi không chắc làm thế nào bạn có thể tự động xác định các ứng cử viên tốt nhất với bất kỳ mức độ chắc chắn hợp lý nào ...
Thomas Owens

1
@ThomasOwens Tôi đã thêm chi tiết cho câu hỏi.
Lorin Hochstein

Câu trả lời:


6

Tôi không biết về bất kỳ công cụ nào như vậy, nhưng một công cụ cơ bản đủ dễ để viết:

(for file in $files_touched_by_patch; do
    git blame -p "$file"
done) \
  | grep '^author ' | sed 's/^author *//' \
  | sort | uniq -c | sort -nrk 1

sẽ liệt kê những người cuối cùng chạm vào $files_touched_by_patch, được sắp xếp theo số lượng dòng mã của họ tồn tại trong phiên bản hiện tại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.