Các đồng nghiệp của tôi có nên xem lại mã của nhau từ hệ thống kiểm soát nguồn không?


9

Vì vậy, đó là câu chuyện của tôi: một trong những đồng nghiệp của tôi sử dụng để xem lại tất cả mã, được lưu trữ trên hệ thống sửa đổi. Tôi không nói về việc xem xét đầy đủ các thay đổi trong các phần mà anh ấy thuộc về. Anh xem tập tin mã để tập tin, dòng đến dòng. Mỗi tập tin mới và mỗi sửa đổi. Tôi cảm thấy giống như bị theo dõi!

Tôi đoán là nếu mã đã được lưu trữ để kiểm soát hệ thống, ít nhất bạn nên tin tưởng nó là có thể thực hiện được. Câu hỏi của tôi là, có lẽ tôi chỉ quá paranoiac và thực hành xem lại mã của nhau là tốt?

Tái bút: Chúng tôi chỉ có ba nhà phát triển và tôi sợ rằng nếu có nhiều người trong số chúng tôi, đồng nghiệp sẽ không có thời gian để xem lại tất cả các mã chúng tôi sẽ viết.

Câu trả lời:


19

Tôi sẽ nói có!

Hai lý do nhanh chóng cho nó:

1) Nếu mã đang được sản xuất, bạn không thể cho rằng nó đúng. Bất kỳ thay đổi nào khác trong hệ thống có thể giới thiệu lỗi. Tôi nghĩ rằng điều rất quan trọng là mã được kiểm tra thường xuyên. Bằng cách này, tái cấu trúc được thực hiện một cách thường xuyên, giữ cho mã gọn gàng và "chính xác" hơn (cập nhật có lẽ là cá cược hơn).

2) Có thể đọc mã là một kỹ năng rất quan trọng nếu bạn sẽ trở thành một lập trình viên. Và đó là một kỹ năng, một cái gì đó bạn cần phải làm việc. Đối với bất kỳ lập trình viên nào bắt đầu làm việc trên cơ sở mã hiện có, nếu anh ta không quen đọc mã của người khác, sẽ có một đường cong học tập dốc để cố cập nhật với những gì đang diễn ra.

Tôi không nghĩ bạn nên cảm thấy bị theo dõi. Chấp nhận bất kỳ lời phê bình nào mà ai đó đưa ra cho bạn (nếu điều đó là hợp lệ). Và cảm thấy tự do để cung cấp cho người khác phê bình GIÁ TRỊ. Đó là cách chúng ta học. Một khi chúng ta ngừng học (hoặc muốn dừng lại), thì sẽ có những vấn đề lớn.


12

Nếu đồng nghiệp nói cung cấp phản hồi tốt và mang tính xây dựng, đây là một điều tuyệt vời và bạn nên đánh giá cao nó rất nhiều.

Điều này S Catch bắt lỗi bạn không nghĩ đến khi viết nó. Điều này S result dẫn đến việc bạn viết mã tốt hơn bởi vì bạn biết rằng những người khác sẽ nhìn thấy nó.


4

Sẽ tốt cho sức khỏe nếu toàn bộ nhóm thực hiện đánh giá mã thay vì một người. Lý tưởng nhất là mọi người sẽ mời ai đó xem lại mã của họ sau khi hoàn thành. Thật hữu ích để giữ cho nó không chính thức (tránh xa các nhà quản lý) và để người đánh giá nói chuyện với bạn thông qua những phát hiện của anh ấy / cô ấy. Lý tưởng nhất là người đánh giá chỉ đưa ra phản hồi và không thực hiện thay đổi mã, tất nhiên bạn có thể ghép nối với nó một chút.

Nó thực sự giúp có các tiêu chuẩn mã hóa để tránh các cuộc thảo luận xem xét về không gian trắng và phong cách mã liên tục. Có một số phân tích mã tĩnh trên máy xây dựng có thể hữu ích trong việc loại bỏ một số cuộc thảo luận.

Về khía cạnh thời gian, lý thuyết là nó sẽ giúp bạn tiết kiệm thời gian. Các lỗi sau này được tìm thấy càng đắt tiền, thất bại nguyên tắc nhanh. Đánh giá mã ngang hàng có thể bắt gặp khá nhiều vấn đề.


1
Đồng ý +1. Một người làm tất cả các đánh giá có thể dẫn đến sự không thoải mái trong nhóm. Nó có thể sai lầm khủng khiếp và được sử dụng vì mã của tôi tốt hơn mã của bạn . Đây nên là một tinh thần đồng đội.
Audrius

@Andrius: buồn, tôi hiểu ý của bạn.
kizzx2

3

Đồng nghiệp của bạn có vẻ như là một nhà phát triển siêng năng, bạn nên làm theo ví dụ của anh ấy.


3

Tôi xem hệ thống kiểm soát phiên bản của chúng tôi theo cách tương tự. Codebase của chúng tôi quá lớn để theo dõi mọi dòng, nhưng tôi cố gắng để có được cảm giác cao cấp cho hầu hết các thay đổi. Tôi cũng theo dõi các đăng ký có nhiều khả năng có tác dụng phụ và xem xét các dòng đó theo từng dòng. Trong thời gian tối thiểu tôi dành để làm việc này, số tiền chi trả là rất lớn. (Cũng lưu ý: Tôi không phải là nhà phát triển duy nhất trong nhóm của chúng tôi có thói quen này.)

Loại đánh giá này có xu hướng bắt lỗi hoặc gọi thảo luận hàng tuần. Điều đó giúp tiết kiệm thời gian khi làm QA. Các cuộc thảo luận bao gồm từ thực tiễn tốt nhất để thiết kế thuật toán và nhiều hơn nữa. Chìa khóa ở mặt trước này là mọi người đều xem nó là mang tính xây dựng.

Cá nhân, nó cũng mang lại cho tôi một sự hiểu biết lớn hơn về những gì đang diễn ra trong các phần khác của cơ sở mã mà tôi không thường xuyên chạm vào. Khi người khác cần giúp đỡ, tôi có thể nhảy vào nhanh hơn. Ngoài ra, khi những ý tưởng mới xuất hiện tôi có thể tận dụng chúng sớm hơn.


1

Bạn cảm thấy nó như bị theo dõi (!)? Nhưng từ quan điểm đồng nghiệp của bạn, tôi sẽ nói anh ấy đang làm những điều đúng đắn cho sự phát triển nghề nghiệp của mình. Đọc mã người khác và tìm cách họ thiết kế và thực hiện logic, điều này sẽ giúp bạn đạt được rất nhiều!

IMHO nếu ai đó chỉ ra điều gì đó sai trong mã của bạn, bạn phải chấp nhận nó và học hỏi từ họ về cách viết mã tốt


1

Trong 6-7 tháng tôi cũng làm như vậy. Không phải để gián điệp, nhưng để kiểm soát chất lượng. Mỗi dòng mã cho một ứng dụng được phát triển tích cực, đã cam kết với kho lưu trữ trung tâm, 2 ngôn ngữ chính, một vài ngôn ngữ khác, tệp tạo tệp lớn cho 4 nền tảng.

Đó là thực tế rất xấu . Một ngày nào đó tôi phát hiện ra rằng tôi không thể nắm bắt mọi thứ do sự mạnh mẽ. Lập luận khác chống lại điều này là sự chủ quan - mọi người có thể nhận sai.

Sẽ tốt hơn khi các nhà phát triển xem xét mã của nhau và có ai đó có kinh nghiệm để đưa ra quyết định cuối cùng và xác định phương hướng.


1

Đánh giá mã trong một nhóm (sử dụng mắt cá , nồi nấu kim loại hoặc các công cụ khác) là vô cùng quan trọng và hữu ích. điều duy nhất tốt hơn là lập trình cặp trực tiếp để đảm bảo rằng mã được đưa vào hệ thống lần đầu tiên được cân nhắc kỹ lưỡng và đã đi qua bộ não của hơn một người.


0

Điều này đã xảy ra trong đội của tôi một lần. Thật không may, nó đã dẫn đến một trò chơi đổ lỗi. Mọi người liên tục chờ đợi người khác kiểm tra mã và sẽ luôn cố gắng tìm ra điều gì đó sai trong đó và chơi trò chơi đổ lỗi mọi lúc.

Tôi hy vọng bạn có một khán giả trưởng thành hơn.


Tốt hơn là để người viết mã mời anh ấy / cô ấy mời ai đó xem lại mã của họ, trước khi nhận phòng. Điều này có thể ngăn chặn sự điên cuồng mà bạn mô tả.
Joppe

@Tunga: Điều thú vị là chỉ có mã được xem xét đã được kiểm tra nhưng họ vẫn rất nhiệt tình trong việc chứng minh tính ưu việt của họ đến nỗi họ sẽ không bận tâm đến người viết mã và người đánh giá. Tôi thấy nó rất thú vị :-)
Geek

0

Đây là thực hành khá chuẩn trong công nghiệp. Các công ty tôi đã làm việc có hướng dẫn xem xét mã rất chặt chẽ. Một thậm chí sẽ không cho phép bạn cam kết trừ khi mã đã được xem xét.

Đừng xúc phạm, hoặc cảm thấy bị theo dõi. Hãy nghĩ về nó như một mạng lưới an toàn và kinh nghiệm học tập.


0

Ở một công việc trước đây, nhà phát triển cấp cao đã theo dõi và xem xét tất cả các đăng ký và tôi thường xuyên nhận được phản hồi tuyệt vời giúp tôi trở thành một nhà phát triển tốt hơn.

Ở công việc hiện tại của tôi, tôi xem nhiều đăng ký và ba ngày trước tôi đã tìm thấy một lỗi và thông báo cho nhà phát triển.

Thực hành này hoàn toàn sẽ bắt lỗi và làm cho toàn bộ nhóm của bạn tốt hơn, nếu bạn nắm lấy nó.

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.