Tôi tin rằng bạn đã trả lời phần lớn câu hỏi của bạn về lợi ích và nhược điểm tương đối.
Đánh giá mã thường có thể khá tốn công và rút ra các vấn đề, và bất cứ điều gì thêm vào thời gian để xem lại mã sẽ làm cho nó có vẻ tồi tệ hơn. Theo cách tôi thấy, bạn muốn giữ quá trình đánh giá của mình thật ngắn và không phải lao động quá nhiều so với các điểm tốt hơn. Vì vậy, chìa khóa là quyết định những gì về quy trình đánh giá mang lại giá trị kinh doanh cho nhóm của bạn.
Các vấn đề về phong cách có lẽ là một trong những mục tôi sẽ đặt là ưu tiên thấp nhất. Chắc chắn, việc giữ mã gọn gàng và được định dạng đồng nhất có thể giúp dễ hiểu hơn, nhưng việc lộn xộn về kiểu dáng cũng có thể dẫn đến sự thiếu hiệu quả trong quá trình mã hóa, bởi vì lo lắng về việc mã đẹp sẽ khiến các nhà phát triển nghĩ ra những vấn đề cần giải quyết như thế nào. Nếu bạn vẫn lo ngại về các vấn đề về kiểu, thì sử dụng công cụ kiểm tra Kiểu / Định dạng (Ví dụ: StyleCop cho C #) là một cách tuyệt vời để giải quyết các vấn đề về kiểu cụ thể đến thời điểm cuối cùng và thực hiện quy trình ra quyết định liên quan đến kiểu ra khỏi tay các nhà phát triển, giải phóng suy nghĩ của họ cho những thứ quan trọng hơn. Nếu bạn không có một sản phẩm như vậy cho ngôn ngữ bạn chọn, có lẽ một trình phân tích cú pháp đơn giản có thể được viết để quét nhanh mã của bạn cho các vấn đề như vậy,
Rò rỉ bộ nhớ và các vấn đề cụ thể về hiệu suất khác sẽ không bao giờ phụ thuộc vào quá trình xem xét để chọn ra. Chắc chắn, nếu bạn phát hiện ra thứ gì đó rõ ràng sẽ gây ra vấn đề lớn, bạn nên chỉ ra nó, nhưng đó không phải là mục đích của việc xem xét mã để theo dõi từng vấn đề về bộ nhớ / hiệu năng trong mã của bạn. Đó là những gì một công cụ định hình tốt dành cho, và chúng chắc chắn đáng giá từng xu bạn bỏ ra nếu bạn quản lý để xác định vị trí rất tốt cho ngôn ngữ bạn đang phát triển.
Các vấn đề logic là vấn đề tốt nhất, và đây là những điều thực sự có thể hút rất nhiều thời gian quý giá khi bạn đang xem xét mã. Thay vì để tất cả điều này hoàn toàn cho việc xem xét mã, đây là những gì bài kiểm tra đơn vị của bạn nên được sử dụng cho. Có, thậm chí các bài kiểm tra có thể sai, tuy nhiên nếu bạn phát triển bài kiểm tra trước, hãy bám vào hiệu trưởng SRP và DRY, tái cấu trúc không thương tiếc và xác định các bài kiểm tra đơn vị của bạn như một phương tiện để xác thực thông số kỹ thuật của bạn, bạn sẽ thấy rằng bạn sẽ kết thúc với các vấn đề liên quan đến logic ít hơn nhiều. Nếu bạn kiểm tra sau khi viết mã, bạn sẽ ít gặp phải các vấn đề logic tiềm ẩn khi chúng phát sinh và có nhiều khả năng quên kiểm tra một lộ trình cụ thể thông qua mã của bạn.
Vì vậy, nếu bạn làm mọi thứ như tôi đã đề xuất ở đây, điều đó khiến bạn phải làm gì trong phần đánh giá mã? Câu trả lời đơn giản là việc xem xét mã của bạn trở thành một quy trình khá đơn giản, theo đó người viết mã giải thích cho người đánh giá về cách yêu cầu cụ thể đã được nắm bắt trong các thử nghiệm và cách các thử nghiệm đó được áp dụng cho các vấn đề được giải quyết. Bạn có xu hướng phát hiện kiểm tra mã nhiều hơn và phân tích các kiểm tra kỹ lưỡng hơn, vì đây là nơi có thể đo được giá trị kinh doanh lớn nhất và đặc biệt là khi mã đó cần được duy trì sau đó. Để làm cho việc xem xét mã kiểm tra trở nên khó khăn hơn, sử dụng khung kiểm tra Hành vi tốt có thể đơn giản hóa đánh giá rất nhiều, vì các thông số kỹ thuật được ghi lại trong mã dưới dạng mô tả tiếng Anh gần như đơn giản về cách kiểm tra sẽ chạy. Kiểm tra chi tiết được thực hiện trên bất kỳ mã nào hỗ trợ các bài kiểm tra, và nếu khung BDD của bạn tạo ra các báo cáo văn bản đẹp liệt kê các bài kiểm tra trong các câu chuyện tính năng / câu chuyện văn bản đơn giản, thì quá trình này thậm chí còn dễ dàng hơn. Tất cả điều này bổ sung cho một quy trình cực kỳ hiệu quả sẽ có giá trị như một đánh giá mã truyền thống hơn, nhưng có thể được tiến hành nhanh hơn và tập trung hơn, giúp bạn tránh bị sa lầy vào những chuyện nhỏ nhặt và kiểm tra hai lần điều đó thường dẫn bạn đến đâu. Cách tiếp cận gọn hơn này có nghĩa là dành nhiều thời gian hơn để thử nghiệm và mã hóa, và ít thời gian hơn cho các quy trình hành chính. nhưng có thể được tiến hành nhanh hơn và theo cách tập trung hơn, giúp bạn tránh bị sa lầy vào những chuyện nhỏ nhặt và kiểm tra hai lần thường không dẫn bạn đến đâu. Cách tiếp cận gọn hơn này có nghĩa là dành nhiều thời gian hơn để thử nghiệm và mã hóa, và ít thời gian hơn cho các quy trình hành chính. nhưng có thể được tiến hành nhanh hơn và theo cách tập trung hơn, giúp bạn tránh bị sa lầy vào những chuyện nhỏ nhặt và kiểm tra hai lần thường không dẫn bạn đến đâu. Cách tiếp cận gọn hơn này có nghĩa là dành nhiều thời gian hơn để thử nghiệm và mã hóa, và ít thời gian hơn cho các quy trình hành chính.
Vậy những số liệu đó thì sao? Nếu tất cả các vấn đề được coi đơn giản là "lỗi", thì số liệu duy nhất bạn thực sự cần quan tâm là số lỗi bạn gặp phải trước và sau khi phát hành, theo thời gian và liệu các lỗi được xác định có theo xu hướng cụ thể không. Nếu bạn đang sử dụng ngay cả một nửa hệ thống theo dõi vấn đề, tất cả thông tin này sẽ thực sự nằm trong tầm tay bạn và bạn sẽ không cần phải lo lắng về việc liệu quy trình xem xét của bạn có cần xác định chúng hay không. Vào cuối ngày, nhóm của bạn muốn làm những gì họ giỏi, đó là viết phần mềm và không dành quá nhiều thời gian cho các vấn đề hành chính thường chỉ cung cấp một cái gì đó quan tâm cho 1 hoặc 2 cá nhân trong công ty.