Việc chấm điểm các cá nhân trong bài đánh giá là đối trọng với hầu hết các hệ thống thành công mà tôi đã làm việc cùng, có thể là tất cả. Nhưng mục tiêu tôi đã cố gắng đạt được trong hơn 20 năm là ít lỗi hơn và tăng năng suất mỗi giờ kỹ sư. Nếu chấm điểm các cá nhân là một mục tiêu, tôi cho rằng các đánh giá có thể được sử dụng. Tôi chưa bao giờ thấy một tình huống mà nó được yêu cầu, như một công nhân hoặc là một nhà lãnh đạo.
Một số nghiên cứu khách quan (Fagan, v.v.) và rất nhiều sự khôn ngoan phổ biến cho thấy các mối quan hệ ngang hàng tạo điều kiện cho các đánh giá mã nhằm giảm lỗi và tăng năng suất. Người quản lý làm việc có thể tham gia với tư cách là người lao động, nhưng không phải là người quản lý. Điểm thảo luận được lưu ý, những thay đổi để làm hài lòng người đánh giá nói chung là một điều tốt nhưng không bắt buộc. Do đó mối quan hệ ngang hàng.
Bất kỳ công cụ tự động nào có thể được chấp nhận mà không cần phân tích hoặc đánh giá thêm là tốt - lint trong C, C ++, Java. Biên soạn thường xuyên. Trình biên dịch thực sự tốt trong các lỗi biên dịch findng. Tài liệu sai lệch trong kiểm tra tự động nghe có vẻ như một bản cáo trạng tinh tế của kiểm tra tự động. Các chỉ thị mã (giống như Java) cho phép độ lệch khá nguy hiểm, IMHO. Tuyệt vời để gỡ lỗi, để cho phép bạn có được trung tâm của vấn đề, nhanh chóng. Không tốt để tìm thấy trong một khối mã 50.000 tài liệu không bình luận mà bạn trở nên chịu trách nhiệm.
Một số quy tắc là ngu ngốc nhưng dễ thực thi; mặc định cho mọi câu lệnh chuyển đổi ngay cả khi chúng không thể truy cập được. Sau đó, nó chỉ là một hộp kiểm và bạn không phải mất thời gian và tiền bạc để kiểm tra các giá trị không khớp với bất cứ thứ gì. Nếu bạn có quy tắc , bạn sẽ có sự dại dột , chúng gắn bó chặt chẽ với nhau . Bất kỳ lợi ích của quy tắc nào cũng phải có giá trị cho sự dại dột mà nó phải trả, và mối quan hệ đó nên được kiểm tra định kỳ.
Mặt khác, "Nó chạy" là không có đức tính trước khi xem xét, hoặc bảo vệ trong đánh giá. Nếu quá trình phát triển tuân theo mô hình thác nước , bạn muốn thực hiện đánh giá khi mã hóa hoàn thành 85%, trước khi các lỗi phức tạp được tìm thấy và xử lý, vì đánh giá là cách rẻ hơn để tìm ra chúng. Vì cuộc sống thực không phải là mô hình thác nước, nên khi xem lại là một phần của nghệ thuật và đạt đến một chuẩn mực xã hội. Những người thực sự sẽ đọc mã của bạn và tìm kiếm các vấn đề trong đó là vàng nguyên khối. Quản lý hỗ trợ điều này theo cách đang diễn ra là một viên ngọc trên giá. Đánh giá nên giống như đăng ký- sớm và thường xuyên .
Tôi đã tìm thấy những điều có lợi:
1) Không có chiến tranh kiểu . Trường hợp niềng răng mở đi chỉ nên chịu sự kiểm tra tính nhất quán trong một tệp nhất định. Tất cả đều giống nhau. Được thôi. Độ sâu thụt lề Ditto ** s và ** chiều rộng tab . Hầu hết các tổ chức phát hiện ra họ cần một tiêu chuẩn chung cho tab, được sử dụng như một không gian rộng.
2)
looking
văn bản không
line up is hard to read
cho nội dung.
BTW, K & R thụt vào năm không gian (FIVE), do đó, kháng cáo lên chính quyền là vô giá trị. Chỉ cần kiên định.
3) Một bản sao được đánh số dòng, không thay đổi, có sẵn công khai của tệp cần xem xét phải được chỉ ra trong 72 giờ trở lên trước khi xem xét.
4) Không thiết kế khi đang bay. Nếu có vấn đề hoặc sự cố, hãy lưu ý vị trí của nó và tiếp tục di chuyển.
5) Thử nghiệm đi qua tất cả các con đường trong môi trường phát triển là một ý tưởng rất, rất, rất, rất tốt. Thử nghiệm yêu cầu dữ liệu lớn bên ngoài, tài nguyên phần cứng, sử dụng trang web của khách hàng, v.v., là thử nghiệm gây tốn kém và sẽ không triệt để.
6) Định dạng tệp không phải ASCII được chấp nhận nếu tạo, hiển thị, chỉnh sửa, v.v., các công cụ tồn tại hoặc được tạo sớm trong quá trình phát triển. Đây là thành kiến cá nhân của tôi, nhưng trong một thế giới mà hệ điều hành thống trị không thể tự thoát ra được với RAM dưới 1 gigabyte, tôi không thể hiểu tại sao các tệp ít hơn, giả sử, 10 megabyte nên là bất cứ điều gì khác với ASCII hoặc một số định dạng được hỗ trợ thương mại khác. Có các tiêu chuẩn cho đồ họa, âm thanh, phim ảnh, thực thi và các công cụ đi kèm với chúng. Không có lý do gì cho một tệp chứa biểu diễn nhị phân của một số đối tượng.
Để bảo trì, tái cấu trúc hoặc phát triển mã được phát hành, một nhóm đồng nghiệp mà tôi đã sử dụng xem xét bởi một người khác, ngồi tại một màn hình và nhìn vào một sự khác biệt của cũ và mới , như một cửa ngõ để đăng ký chi nhánh. Tôi thích nó, nó rẻ, nhanh, tương đối dễ làm. Hướng dẫn cho những người chưa đọc mã trước có thể mang tính giáo dục cho tất cả nhưng hiếm khi cải thiện mã của nhà phát triển.
Nếu bạn được phân phối theo địa lý, việc nhìn vào các khác biệt trên màn hình trong khi nói chuyện với người khác nhìn tương tự sẽ tương đối dễ dàng. Điều đó bao gồm hai người nhìn vào sự thay đổi. Đối với một nhóm lớn hơn đã đọc mã được đề cập, nhiều trang web không khó hơn nhiều so với tất cả trong một phòng. Nhiều phòng được liên kết bởi màn hình máy tính dùng chung và hộp squak hoạt động rất tốt, IMHO. Càng nhiều trang web, càng cần nhiều quản lý cuộc họp. Một người quản lý như người hướng dẫn có thể kiếm tiền của họ ở đây. Hãy nhớ tiếp tục bỏ phiếu các trang web bạn không ở.
Tại một thời điểm, cùng một tổ chức đã kiểm tra đơn vị tự động được sử dụng làm kiểm tra hồi quy. Điều đó thực sự tốt đẹp. Tất nhiên sau đó chúng tôi đã thay đổi nền tảng và kiểm tra tự động bị bỏ lại phía sau. Đánh giá là tốt hơn, vì ghi chú của Tuyên ngôn Agile , các mối quan hệ quan trọng hơn quy trình hoặc công cụ . Nhưng một khi bạn đã xem xét, kiểm tra đơn vị tự động / kiểm tra hồi quy là trợ giúp quan trọng nhất tiếp theo trong việc tạo ra phần mềm tốt.
Nếu bạn có thể căn cứ các bài kiểm tra theo yêu cầu , thì, như người phụ nữ nói trong "Khi Harry Met Sally" , tôi sẽ có những gì cô ấy đang có!
Tất cả các đánh giá cần phải có một bãi đậu xe để nắm bắt các yêu cầu và các vấn đề thiết kế ở cấp độ trên mã hóa. Khi một cái gì đó được công nhận là thuộc về bãi đậu xe, thảo luận nên dừng lại trong đánh giá.
Đôi khi tôi nghĩ rằng đánh giá mã nên giống như các đánh giá sơ đồ trong thiết kế phần cứng - hoàn toàn công khai, kỹ lưỡng, hướng dẫn, kết thúc một quy trình, một cổng sau đó nó được xây dựng và thử nghiệm. Nhưng đánh giá sơ đồ là nặng vì thay đổi đối tượng vật lý là tốn kém. Kiến trúc, giao diện và tài liệu đánh giá cho phần mềm có lẽ nên nặng. Mã là chất lỏng hơn. Mã xem xét nên có trọng lượng nhẹ hơn.
Theo nhiều cách, tôi nghĩ rằng công nghệ cũng giống như văn hóa và kỳ vọng cũng như về một công cụ cụ thể. Hãy nghĩ về tất cả những trò chơi ngẫu hứng của " Swiss Family Robinson " / Flintstones / McGyver khiến trái tim thích thú và thách thức tâm trí. Chúng tôi muốn công cụ của chúng tôi để làm việc . Không có một con đường nào dẫn đến điều đó, bất kỳ thứ gì khác ngoài "trí thông minh" có thể được trừu tượng hóa và tự động hóa bằng các chương trình AI của thập niên 1960 .