Tôi có nên nhấn mạnh rằng chúng tôi thực hiện đánh giá mã trước khi hợp nhất trở lại thân cây?


10

Yêu cầu đăng lại từ StackOverflow:

Tôi đang làm việc trong một thời gian phát triển nhỏ với thời gian phát triển rất hạn chế. Chúng tôi phát triển một công cụ quan trọng đối với kết quả công việc của chúng tôi, nhưng không được sử dụng hàng ngày. Tôi là người duy nhất trong nhóm có nền tảng là một lập trình viên.

Vấn đề của tôi là tôi đã thúc đẩy đánh giá mã trước khi hợp nhất trở lại thân cây trong hơn một năm. Mọi người đều đồng ý về điều này, nhưng vẫn chỉ có mã của tôi đã được xem xét. Trở về sau kỳ nghỉ dài, tôi trở lại một thân cây với các nhận xét về mã vì "đây là một giải pháp xấu - loại bỏ càng sớm càng tốt" và "sửa chữa nhanh". Điều mới cũng là một anh chàng đã được bổ nhiệm trách nhiệm cho công cụ này. .

Mối quan tâm của tôi là các nhà phát triển khác viết mã xấu: thường phá vỡ đóng gói, viết các lớp lớn, thêm các lớp bên trong ở những nơi xa lạ, có ít hoặc không có bài kiểm tra đơn vị, v.v. Cuối cùng sẽ không thể phát triển công cụ hơn nữa.

Tôi có nên nhấn mạnh rằng chúng tôi thực hiện đánh giá mã trước khi hợp nhất trở lại thân cây hay tôi chỉ là một con chó cái chất lượng mã?


3
"Khi chúng ta có thời gian hạn chế để phát triển, chúng ta nên cắt giảm những góc như thế." -> "Bạn có thể trả tiền cho tôi ngay bây giờ hoặc bạn có thể trả tiền cho tôi sau." Tôi đã làm bitch để đánh giá mã và kiểm tra đơn vị trong hai năm rưỡi và luôn có cùng một câu trả lời. Tất nhiên bây giờ chúng ta có vài ngàn dòng mã, tất cả "cắt góc" đang quay trở lại ám ảnh chúng ta.
MetalMikester

Tình hình sẽ được cải thiện khi anh chàng trở nên có kinh nghiệm hơn.
rwong

Câu trả lời:


2

Tôi đã từng ở trong những tình huống tương tự trước đây và imho nó phụ thuộc vào "tôi có phải duy trì mã" không.

Nếu tôi phải duy trì mã, hơn là tôi muốn mã chất lượng cao, cá nhân tôi không yêu cầu đánh giá mã cho mỗi cam kết (tức là lập trình viên có thể tự quyết định xem mã nhất định có cần xem xét hay không) nhưng nếu khả năng đọc / bảo trì có bị ảnh hưởng hơn nó có thể theo thứ tự.

Khi đọc điều này:

Mối quan tâm của tôi là các nhà phát triển khác viết mã xấu: thường phá vỡ đóng gói, viết các lớp lớn, thêm các lớp bên trong ở những nơi xa lạ, có ít hoặc không có bài kiểm tra đơn vị, v.v. Cuối cùng sẽ không thể phát triển công cụ hơn nữa.

Tôi nghĩ rằng vấn đề của bạn lớn hơn là chỉ đánh giá mã. Bạn dường như đang thiếu một vài hướng dẫn và / hoặc chúng không được thực hiện. Không có / vài bài kiểm tra đơn vị có thể là một ý tưởng tồi nhưng phụ thuộc vào trường hợp cụ thể. Tuy nhiên, breaking encapsulation, writing huge classes, ...thực sự tạo mã dễ bị lỗi để chắc chắn phải được sửa.


6

Tôi nghĩ rằng đánh giá mã và duy trì một số nguyên tắc mã hóa là một ý tưởng tốt, nhưng tôi nghĩ rằng việc thực hiện nó cho mỗi lần kiểm tra là một sự lãng phí thời gian. Đó là một ý tưởng tốt khi thành lập một nhóm và với các lập trình viên trẻ, nhưng các lập trình viên giàu kinh nghiệm có thể tự suy nghĩ và cuối cùng bạn sẽ phải tin tưởng họ. Điều đó nói rằng - bạn có thể thực hiện đánh giá mã định kỳ để làm mới, nhưng nhìn vào từng dòng mã nhập vào VCS của bạn thực sự quá lạm dụng nó.

Và một nhận xét nhỏ liên quan đến các sửa lỗi của đồng nghiệp của bạn - đôi khi thực hiện một sửa chữa xấu xí là giải pháp chính xác . Có thể là mã đặc biệt này không đủ quan trọng để đầu tư nhiều thời gian vào, có thể là giải pháp đơn giản là đủ tốt và tốt hơn là đầu tư thời gian vào những thứ khác. Làm cho mã của bạn "đẹp" không phải là mục tiêu chính của bạn với tư cách là một lập trình viên. Mục tiêu chính của bạn là cung cấp và ám ảnh trên mỗi dòng mã chỉ đơn giản là sẽ không đưa bạn đến đó.

Điều tôi đang cố nói là - bạn cần chọn những trận đánh của mình. Bạn có thể thua trận chiến với một số lớp tiện ích không đáng kể để giành chiến thắng trong cuộc chiến giao hàng (hoặc cuộc chiến hệ thống phụ THỰC SỰ QUAN TRỌNG này, cho vấn đề đó).


3

Nếu chương trình được đề cập không phải là nguyên mẫu bỏ đi một lần, tôi nghĩ rằng việc đánh giá mã nên là bắt buộc cho mỗi lần đăng ký.

Các nhà phát triển cao cấp có thể có một đặc quyền của các đăng ký không được đánh giá, một khi họ được biết là đủ lương tâm để yêu cầu đánh giá khi thích hợp.


1

Không chắc chắn xem lại mã là câu trả lời cho đến khi ai đó bắt đầu thực thi các tiêu chuẩn mã hóa tốt hơn. Ai đó viết mã crappy, bình luận / thừa nhận nó và kiểm tra nó bằng cách nào. Việc đánh giá sẽ có ích gì nếu ai đó muốn từ chối mã, nhưng nó sẽ khiến bạn chậm tiến độ?

Bạn sẽ cần phải: thiết lập các tiêu chuẩn, giám sát các thủ phạm chính chặt chẽ hơn và dồn nén vào đầu họ rằng mã tốt không phải lúc nào cũng mất nhiều thời gian hơn để viết. Họ cần ngừng sử dụng các mốc thời gian như một cái cớ để từ chối thay đổi thói quen xấu.

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.