Là thích hợp để có ý kiến ​​tích cực trong đánh giá mã, hoặc nó chỉ dành riêng cho phê bình mang tính xây dựng?


36

Gần đây tôi đã thực hiện nhiều đánh giá mã, và tôi không chắc về các tác động tích cực và tiêu cực và tính chuyên nghiệp của việc đưa các bình luận tích cực và / hoặc hài hước vào các đánh giá mã.

Chúng tôi sử dụng Github làm nền tảng đánh giá mã của chúng tôi trong nhóm của tôi, vì vậy mọi người đều có thể xem các bình luận. Tôi thường cố gắng sử dụng nền tảng này để toàn bộ quá trình từ đầu đến cuối là hiển thị và mang tính lịch sử.


Vâng, tôi nhận ra điều này phần lớn liên quan đến văn hóa, nhưng tôi đang tìm kiếm một câu trả lời chung chung.
Codeman

22
Điều quan trọng là củng cố những gì bạn muốn thấy với những bình luận tích cực.

2
Tôi không biết liệu nó có phù hợp hay không, nhưng đôi khi tôi đăng haikus mã hóa trong các bài đánh giá: lập trình viên cơ sở - mã không bị lỗi của bạn - giống như những mảnh vỡ của nỗi đau.
yannis

Tôi thực sự là lập trình viên cơ sở đang xem xét mã của cấp cao - chúng tôi có một quy trình khá nghiêm ngặt ở đây, tất cả các mã phải được xem xét :)
Codeman

Câu trả lời:


53

Điều quan trọng là làm nổi bật những mặt tích cực cũng như tiêu cực. Tôi biết nếu tôi đang xem xét cấu trúc lại của một hệ thống con địa ngục cụ thể thành một thứ gì đó gọn gàng và sạch sẽ, có lẽ tôi sẽ mua cho lập trình viên một chiếc bánh pizza cho những nỗ lực của mình.

Nếu bạn đang sử dụng các bài đánh giá để đào tạo, điều đó rất quan trọng - làm nổi bật một đoạn mã tốt sẽ hữu ích cho các lập trình viên cơ sở cũng đang xem xét mã đó. Họ sẽ có cơ hội đặt câu hỏi về lý do tại sao một phương pháp hoặc kỹ thuật cụ thể lại tốt hơn phương pháp khác.


Bạn có thể thêm một ghi chú như "tại sao nó quan trọng" không? Tôi sẽ đánh dấu là được chấp nhận khi bạn làm điều đó :)
Codeman

3
Nó cho mọi người biết rằng những gì họ đang làm (viết mã tốt) được đánh giá cao và tập trung vào sự phát triển, đó là những gì đánh giá về mã.
Jonathan Rich

1
Bạn có thể thêm điều này vào câu trả lời của bạn?
Codeman

2
+1 bạn xứng đáng với huy hiệu câu trả lời đẹp cho cái này. Số lượng địa điểm không coi trọng sự chỉ trích mang tính xây dựng luôn làm tôi ngạc nhiên. Nói với mọi người rằng họ đang làm một công việc tốt khi họ đang làm một công việc tốt có thể là một động lực hiệu quả đáng ngạc nhiên.
Benjamin Gruenbaum

@Benjamin: quá nhiều tổ chức coi việc xem xét mã là 'tìm ra lỗi của quy trình dán cao su của nhau và không phải là' cho phép xây dựng một nhóm hiệu suất cao '. Theo kinh nghiệm của tôi, đánh giá mã là cách nhanh nhất và tốt nhất để phá vỡ các rào cản ngăn các nhóm phần mềm thực sự hoạt động. Chúng tôi có một tiêu chuẩn ký hiệu trong đó chúng tôi có tiền tố nhận xét với -2 (phải được sửa) mặc dù là +2 (công việc tuyệt vời).
mattnz

8

Hài hước: Lưu nó cho bộ làm mát nước, ngoại trừ với liều lượng tối thiểu - có khuôn mặt cắt tỉa không phải là một yêu cầu để xem xét mã.

Tích cực: Chắc chắn. Đánh giá bao gồm cả tích cực và tiêu cực / xây dựng, theo định nghĩa.

Phản hồi tích cực giúp mọi người:

Đối với người nhận được sự phản hồi, bạn củng cố sự tự tin của họ và truyền cảm hứng cho họ để làm nhiều điều tương tự thông qua phản hồi tích cực của bạn.

Đối với phần còn lại, như những người khác đã đề cập, họ sẽ tìm hiểu những gì nên làm , cũng như những gì không nên làm . Họ cũng sẽ được khuyến khích để trở nên xuất sắc, vì vậy một ngày nào đó họ cũng có thể được chú ý.

Tôi đã từng làm việc cho một ông chủ tự do trong phản hồi tích cực của mình - kết quả là nhóm rất thành công và hiệu quả. Anh ấy tiếp tục, và những người khác tiếp quản mà thiếu khả năng khen ngợi một công việc được thực hiện tốt. Năng suất và tinh thần đã tăng lên, và nhiều thành viên tốt hơn trong nhóm rời khỏi công ty.


3

Tôi muốn nói giữ bình luận sạch sẽ và chính xác, vì văn hóa.

Bạn không thể tránh việc một số người sẽ hiểu sai mọi thứ.
Để giảm thiểu điều đó, một cuộc nói chuyện cá nhân sẽ diễn ra suôn sẻ, nếu không thể đối mặt trực tiếp, hãy trò chuyện hoặc gửi email hoặc skype.


1
Điểm tốt. Trở nên "buồn cười" trong việc bình luận có thể dễ dàng gây phản tác dụng, đặc biệt là trong môi trường đa ngôn ngữ, đa văn hóa.
David Navarre

2

Bình luận trong một đánh giá mã đang quản lý

Coi ý kiến ​​như một công cụ quản lý

Chèn ý kiến ​​vào đánh giá mã là một hình thức quản lý. Như vậy, nó nên được tiếp cận như một công cụ quản lý.

Sử dụng thực hành quản lý khi bình luận

Có một cấu trúc để quản lý mọi người trong đó mục tiêu là đáp ứng một kết quả mong muốn. Một số cách tiếp cận chính để quản lý sẽ không áp dụng trong các bình luận nhưng hầu hết sẽ. Các chủ đề áp dụng bao gồm môi trường, lãnh đạo, tổ chức và kiểm soát.

Môi trường

Văn hóa

Môi trường quyết định phong cách quản lý. Văn hóa và môi trường của nơi làm việc nên được lưu ý khi sử dụng bất kỳ công cụ quản lý. Thông thường điều này bị ảnh hưởng bởi ngành công nghiệp và quy mô của công ty hoặc tổ chức được quản lý.

Phong cách

Nếu có một nền văn hóa vui vẻ thì điều đó có thể bắt gặp trong phong cách quản lý đang được sử dụng. Nếu có những hướng dẫn, chính sách và hậu quả rất nghiêm ngặt thì điều đó nên được phản ánh trong phong cách sử dụng. Vì vậy, nếu tất cả mọi người tham gia vào một trò đùa chiến tranh giữa các vì sao tham khảo droids và một nhân viên cứu hỏa có đầu óc yếu đuối thì một sự can thiệp hài hước có thể được áp dụng. Tuy nhiên, nếu có những hậu quả nghiêm trọng của việc không coi trọng kết quả cuối cùng thì có thể cần phải tránh.

Khả năng lãnh đạo

Nguyên tắc cơ bản

Có ba trụ cột chính của lãnh đạo để xem xét khi bình luận. Cụ thể họ là tầm nhìn, giao tiếp và phán đoán.

Vision

Điều quan trọng là phải giữ tầm nhìn lớn trong tâm trí khi giải thích hoặc đưa ra hướng dẫn. Trong các bình luận, điều này có thể có nghĩa là chỉ ra những thay đổi nhỏ ảnh hưởng đến toàn bộ dự án như thế nào, ý nghĩa của việc thực hiện các phương pháp khác nhau, hoặc một chiếc mũ để phân tách các mối quan tâm.

Communication

Trở thành một người giao tiếp tốt là điều quan trọng trong nhiều khía cạnh của cuộc sống. Nó không khác nhau trong ý kiến. Sử dụng một mức độ ngắn gọn khôn ngoan là rất quan trọng - đặc biệt là vì các bình luận không nên chiếm nhiều không gian. Đến điểm sớm, và sau đó sao lưu nó bằng một ví dụ nếu cần thiết. Trong một tổ chức lớn hơn, điều này cũng có thể bao gồm nhu cầu gửi thông cáo hoặc bản ghi nhớ nếu vấn đề không được bản địa hóa trong một phiên đánh giá.

Judgement

Điều quan trọng là chiến lược được sử dụng khi đánh giá xem có cần đưa ra ý kiến ​​hay không và những thay đổi cần phải có. Phán quyết của bạn không phải lúc nào cũng cần phải đúng, nhưng nó cần phải luôn luôn đúng, đặc biệt là khi các cuộc gọi phán xét lớn được thực hiện.

Tổ chức

Từ quan điểm quản lý, tổ chức sẽ đề cập đến việc giữ mục tiêu cuối cùng trong tâm trí và đảm bảo rằng các quy trình được căn chỉnh để tuân theo một bộ quy tắc. Các bình luận cũng nên ghi nhớ điều này trong đó các bình luận nên khi có thể xây dựng lẫn nhau để đảm bảo rằng dòng chảy của thiết kế được tuân theo. Nó cũng quan trọng để ghi nhớ phạm vi của mã được xem xét để giảm khớp nối và tuân theo thiết kế tổng thể.

Kiểm soát

Kiểm soát hành động của những người được quản lý là một quá trình tế nhị. Mặc dù vững chắc nhưng cũng nên nhớ rằng mọi người rất quan trọng. Có một số kỹ năng quản lý để sử dụng trong khi kiểm soát những người khác. Những kỹ năng này là chính trị, khái niệm, liên cá nhân, chẩn đoán và kỹ thuật.

Chính trị

Chính trị có thể được tìm thấy bất cứ lúc nào có sự tương tác giữa mọi người. Đó là một chủ đề lớn, nhưng trong một ý nghĩa chung, chính trị xoay quanh ảnh hưởng. Điều quan trọng là phải ghi nhớ chính trị cá nhân và chuyên nghiệp tại nơi làm việc khi đưa ra nhận xét. Điều này có thể liên quan đến một hướng dẫn, một trò đùa hoặc thậm chí là một câu hỏi.

Khái niệm

Quản lý thông qua khái niệm hóa là một công cụ quan trọng. Nó đòi hỏi một phân tích phức tạp về tình hình trong tầm tay. Khi bình luận có thể có ích khi bao gồm một số phân tích được sử dụng để đưa ra kết luận hoặc thay đổi được chỉ ra trong đánh giá.

Liên cá nhân

Kỹ năng giao tiếp rất quan trọng khi quản lý. Đây cũng là một chủ đề lớn. Một số điều quan trọng cần xem xét với các kỹ năng giao tiếp là cố vấn, phê bình mang tính xây dựng và "đánh cắp".

Mentoring

Điều quan trọng là quản lý được xem như một người cố vấn hơn là một nhân vật phản diện. Trong đánh giá mã, điều này có nghĩa là đôi khi sẽ có ích khi bao gồm một cái gật đầu cho một mẫu thiết kế hoặc phương pháp tiếp cận có thể được sử dụng để cải thiện một tình huống.

Constructive Criticism

Phê bình là quan trọng bởi vì nó gọi sự phản ánh. Tuy nhiên, những lời chỉ trích nên được giữ càng tích cực càng tốt khi có thể. Điều này có nghĩa là đưa ra bằng chứng hợp lệ để hỗ trợ cho những lời chỉ trích, và cũng đảm bảo rằng giai điệu được sử dụng không phải là tiêu cực. Khi xem xét mã, điều này có thể bao gồm hiển thị một trường hợp ngoại lệ hoặc có thể xảy ra lỗi trong khi ngụ ý một giải pháp thay vì hiển thị mọi vị trí không chính xác khi toàn bộ đoạn mã sẽ cần phải được thay thế.

"Harpooning"

"Harpooning" là khi bạn tượng trưng cho ai đó xuống đất. Điều này được thực hiện bằng cách phá vỡ chúng từng bước mà không có bất kỳ sự hối tiếc nào cho đến khi chúng cảm thấy không thể đứng dậy. Nếu bạn đánh cắp một người trong đánh giá mã hoặc ở nơi khác, bạn sẽ mất sự hợp tác của họ. Điều quan trọng là tránh phá vỡ một ai đó quá mức.


Tóm tắt

Đối xử với các bình luận trong một đánh giá mã như một công cụ quản lý. Hãy nhớ rằng các ý kiến ​​nên ngắn gọn, chính xác và mang tính xây dựng. Cũng đảm bảo rằng trong khi bình luận người được xem xét được xem xét.


Mã xem xét không nên được quản lý. Tên khác của nó là 'PEER review' vì lý do chính đáng. Vấn đề khác tôi có với câu trả lời là nó được coi là mã được xem xét, không phải là người. Nếu đánh giá mã được coi là đánh giá của người đó, thì nó đã (hoặc sẽ sớm) trở thành một công cụ quản lý để 'đánh bại mọi người'. Xem nó trở thành đầu vào trong KPI và xem các trò chơi mà Peers chơi - "Mã đó có thể tốt hơn, tôi sẽ để nó trượt nếu bạn hứa sẽ dễ dàng giảm mã tiếp theo của tôi"
mattnz

@mattnz - Các đồng nghiệp quản lý lẫn nhau thường xuyên. Hơn nữa, không phải tất cả các tổ chức hoạt động theo một hệ thống phân cấp từ trên xuống nghiêm ngặt, trong trường hợp đó, các đồng nghiệp là một yếu tố chính của quản lý. Tuy nhiên, tôi có vấn đề với khiếu nại của bạn rằng đánh giá mã không phải là về cá nhân. Sửa chữa thói quen mã hóa xấu đòi hỏi phải có hướng dẫn thực tế và ban hành hướng dẫn đó một cách duyên dáng và tôn trọng là rất quan trọng để nó thành công.
Travis J

@mattnz - Cũng lưu ý, tôi chưa bao giờ một lần ngụ ý rằng đánh giá mã là đánh giá của người đó. Tôi nhận thấy rằng bạn đã hỗ trợ câu trả lời được chấp nhận ở đây, điều mà tôi cũng đồng ý. Tuy nhiên, điều kỳ lạ là câu trả lời rõ ràng tập trung vào từng cá nhân, mua cho họ pizza và đích thân khen ngợi họ. Tôi không có vấn đề gì với điều đó, nhưng làm thế nào bạn có thể nói rằng điều đó cũng không đóng vai trò là "đánh giá con người". Thành thật mà nói, có vẻ như bạn chỉ đọc câu đầu tiên và câu cuối của câu trả lời này.
Travis J

0

Đánh giá mã là một công cụ để cải thiện chất lượng mã, một phần bằng cách phát hiện ra các khiếm khuyết. Quan trọng hơn, bạn muốn thấm nhuần thực hành mã hóa tốt.

Từ quan điểm này, điều quan trọng là nhận xét về những điều được thực hiện tốt. Trong một bối cảnh đào tạo, cải tiến cũng nên được nhận xét. Nếu văn hóa của bạn là một trong những cải tiến liên tục, thì bạn nên luôn luôn nhận xét về những cải tiến.

Sai lầm, lỗi và mã hóa xấu sẽ xảy ra. Chỉ ra chúng theo cách phi cá nhân, và đối xử với họ như mong đợi.

Từ quan điểm sửa đổi hành vi, phần thưởng tốt hơn nhiều trong việc tạo ra các thay đổi so với hình phạt. Tôi sẽ xem xét có công việc tốt được chú ý như một phần thưởng.

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.