Làm thế nào bạn có thể nhận được lời chỉ trích mang tính xây dựng cho mã của bạn?


8

Nhóm của tôi hiếm khi thực hiện đánh giá mã, chủ yếu vì chúng tôi không có đủ thời gian và mọi người thiếu năng lượng và ý chí để làm điều đó. Nhưng tôi thực sự muốn biết mọi người nghĩ gì về mã của tôi khi họ đọc nó. Bằng cách này, tôi hiểu rõ hơn cách người khác nghĩ và điều chỉnh mã của tôi phù hợp để dễ đọc hơn.

Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể nhận được sự chỉ trích mang tính xây dựng cho mã của tôi? Mục đích của tôi là hiểu cách mọi người nghĩ để tôi có thể viết mã dễ đọc hơn.


5
Làm mã đánh giá. Mời mọi người xem lại mã của bạn.
Oded

4
Đánh giá mã trao đổi ngăn xếp . Vui lòng đọc kỹ Câu hỏi thường gặp của trang web trước khi bạn gửi câu hỏi.
yannis

2
Nếu không có gì khác hoạt động, hãy đọc mã bạn đã viết cách đây một lúc _ mã cũ của bạn sẽ trông như thể ai đó đã viết nó, điều này sẽ khiến bạn trở nên khách quan.
superM

1
Bạn có nghĩa là tích cực hay xây dựng ?
Blrfl

Câu trả lời:


8

Đã làm việc ở những nơi có đánh giá mã và những người không có, nó đã trở thành một trong những vấn đề quyết định của tôi trong việc tìm kiếm việc làm mới. Thời gian bạn tiết kiệm tránh trường hợp khẩn cấp vì các vấn đề không xuất hiện cho đến khi bạn nhận được sản phẩm cao hơn nhiều so với thời gian bạn dành cho việc xem xét mã. Và điều đó không đề cập đến việc tìm ra một vấn đề trong việc xem xét mã ít đến mức nào.

Bạn có thể bắt đầu nhỏ mặc dù nếu đội cần thuyết phục. Vì bạn muốn mã của bạn được xem xét, bắt đầu từ đó. Yêu cầu một hoặc nhiều đồng nghiệp của bạn gặp bạn trong một giờ hoặc lâu hơn và xem qua một số đoạn mã mà bạn cảm thấy bạn muốn phản hồi. Nếu thông tin phản hồi chủ yếu là tiêu cực, đừng phòng thủ. Thực sự ghi chú và xem xét thực hiện các thay đổi được đề xuất. Nhưng hãy làm điều đó trên một cái gì đó mà bạn chưa gửi cho prod (hoặc thẳng thắn là bạn sẽ không thực hiện các thay đổi). Bạn thậm chí có thể làm điều đó một cách không chính thức tại bàn của bạn, chỉ cần gọi cho ai đó và nói, "này, tôi không chắc là tôi có giải pháp tốt nhất ở đây không, bạn nghĩ sao?"

Một cách khác để dần dần khiến mọi người bắt đầu thấy giá trị của đánh giá mã là có một phiên một tuần trong đó mọi người phải đưa ra một đoạn mã để xem xét (hoặc bạn xoay vòng qua mỗi người nhưng chỉ một tuần một lần tùy thuộc vào sự phức tạp của loại mã cần xem xét). Mang bánh rán hoặc bánh mì tròn lần đầu tiên! Nếu mọi người cảm thấy không thoải mái khi nói với ai đó trực tiếp hoặc nếu bạn nghĩ mọi người sẽ quá phòng thủ, hãy nhờ họ gửi email cho sếp và để anh ta củng cố các bình luận để người được xem xét không biết ai nói gì về mật mã. Thành thật mà nói, tôi muốn biết người đã nói những gì bởi vì đánh giá của riêng tôi về khả năng mã hóa của chính họ sẽ giúp tôi quyết định mức độ nghiêm trọng của tôi khi tôi bị chỉ trích.

Nếu bạn không thể tìm thấy ai đó để đánh giá mã công việc của mình, hãy ngồi xuống và cố gắng giải thích mã và lý do tại sao bạn đang làm những gì bạn đang làm như thể có ai đó ở đó. Tôi ngạc nhiên về mức độ thường xuyên người xây dựng mã đã tìm ra vấn đề trong quá trình giải thích mã đó dùng để làm gì. Nó cũng giúp ngồi xuống với tài liệu yêu cầu của bạn như một loại danh sách kiểm tra và đảm bảo bạn không thiếu thứ gì được yêu cầu.


Tôi có lẽ phải bắt đầu nhỏ như bạn đã nói bởi vì nhiều đồng nghiệp quan trọng mà tôi tìm kiếm là quá bận rộn với thời hạn / vấn đề sản xuất. Giải pháp thay thế cuối cùng của bạn là ngồi một mình và giải thích cách mã của riêng tôi trông giống như điều tối thiểu tôi có thể làm tiếp theo. Đó là một ý tưởng hay và tôi nhớ đã đọc về nó một lần khi gỡ lỗi Vịt cao su. vi.wikipedia.org/wiki/Rubber_duck_debugging
burnt1ce

5

Theo tôi, không có công cụ ưa thích nào có thể thay thế việc ngồi với một nhà phát triển hoặc kiến ​​trúc sư cao cấp và xem qua mã (hoặc mã của họ và xem những gì họ đã làm trước tiên). Điều đó nói rằng, tôi đã thấy rằng mã kiểm thử đơn vị buộc bạn phải suy nghĩ theo cách có thể sử dụng lại, nó cũng buộc bạn phải kết hợp các mẫu có thể làm cho mã của bạn dễ đọc hơn (với lợi ích bổ sung của mã được kiểm tra tốt hơn).


1
Kiểm thử đơn vị IMHO buộc bạn phải suy nghĩ theo cách có thể kiểm tra đơn vị, không hơn, không kém. Mọi người thường nói rằng điều này sẽ làm cho mã có thể tái sử dụng nhiều hơn, nhưng theo ý kiến ​​của tôi đó là một loại truyền thuyết đô thị.
Doc Brown

Đây là hai xu của tôi và lý do của tôi đằng sau khía cạnh tái sử dụng: hầu hết các thử nghiệm đơn vị tôi đã thực hiện xử lý tại một số điểm hoặc khác với các đối tượng giả. Điều này buộc bạn phải suy nghĩ về cách kiểm tra phần mềm của bạn sau này, nhưng nó cũng giúp bạn suy nghĩ về các giao diện giữa các đối tượng của bạn. Lần lượt các giao diện này, những gì một đối tượng giả sẽ giả mạo, IMHO có thể dẫn bạn đến con đường của mã có thể tái sử dụng nhiều hơn (tuy nhiên đây là một loại nghệ thuật). Nếu bạn có thể thiết kế rõ ràng các giao diện tinh gọn, bạn có thể dễ dàng chế giễu, và lần lượt lấy mã tốt hơn từ nó.
abellina

2

Bạn có công cụ tốt để đánh giá mã? Chúng tôi đã có một vấn đề tương tự trong nhóm của tôi. Tôi mất một thời gian để cài đặt một ReviewBoard máy chủ, và tham gia vào các nhận xét mã tăng. Tôi đã thấy rằng mọi người thích bình luận về mã khi nó được thực hiện dễ dàng.


2

Bạn thực sự nên xem xét dành thời gian để thực hiện đánh giá mã, bởi vì theo kinh nghiệm của tôi, nó đáng để nỗ lực liên quan đến chất lượng mã của bạn. Nếu đánh giá mã không có tùy chọn trong nhóm của bạn và bạn muốn hiểu mọi người nghĩ như thế nào, có thể lập trình cặp là một tùy chọn cho bạn. Bạn nhận được phản hồi ngay lập tức về những gì bạn đang gõ - một cái gì đó giống như một đánh giá tức thì.

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.