Trong công việc của tôi, chúng tôi có một quy tắc rất đơn giản: các thay đổi phải được xem xét bởi ít nhất một nhà phát triển khác trước khi hợp nhất hoặc cam kết với trung kế . Trong trường hợp của chúng tôi, điều này có nghĩa là người khác ngồi cùng bạn tại máy tính của bạn và xem qua danh sách thay đổi. Đây không phải là một hệ thống hoàn hảo, nhưng dù sao nó cũng đã cải thiện đáng kể chất lượng mã.
Nếu bạn biết rằng mã của bạn sẽ được xem xét buộc bạn phải xem nó trước. Nhiều vấn đề trở nên rõ ràng sau đó. Theo hệ thống của chúng tôi, bạn phải giải thích những gì bạn đã làm với người đánh giá, điều này một lần nữa khiến bạn nhận thấy những vấn đề bạn có thể đã bỏ lỡ trước đó. Ngoài ra, nếu một cái gì đó trong mã của bạn không rõ ràng ngay lập tức đối với người đánh giá, thì đó là một dấu hiệu tốt cho thấy cần phải có tên tốt hơn, nhận xét hoặc tái cấu trúc. Và, tất nhiên, người xem xét cũng có thể tìm thấy vấn đề. Hơn nữa, ngoài việc xem xét sự thay đổi, người đánh giá cũng có thể nhận thấy các vấn đề trong mã gần đó.
Có hai nhược điểm chính của hệ thống này. Khi sự thay đổi là không đáng kể, sẽ không có ý nghĩa gì khi xem xét nó. Tuy nhiên, chúng tôi hoàn toàn phải tuân thủ các quy tắc, để tránh độ dốc trơn trượt khi tuyên bố các thay đổi là "tầm thường" khi không. Mặt khác, đây không phải là một cách rất tốt để xem xét các thay đổi quan trọng đối với hệ thống hoặc bổ sung các thành phần mới lớn.
Chúng tôi đã thử đánh giá chính thức hơn trước đây, khi một nhà phát triển sẽ gửi email mã để được xem xét cho phần còn lại của nhóm và sau đó toàn bộ nhóm sẽ cùng nhau thảo luận về nó. Điều này đã mất rất nhiều thời gian của mọi người và kết quả là những đánh giá này rất ít và chỉ có một tỷ lệ nhỏ trong số các cơ sở mã được xem xét. "Một người khác đánh giá các thay đổi trước khi cam kết" đã làm việc tốt hơn cho chúng tôi.