# 14: Review code

Vì sao bạn nên làm điều này? Review code giúp code sạch và đẹp hơn. Tuy nhiên các lập trình viên thường bỏ qua việc này vì cho rằng nó không quá cần thiết.

Có thể trước đây nhiều lập trình viên có trải nghiệm không tốt với việc review code nên họ thường có xu hướng không hào hứng với việc này. Các công ty, tổ chức sẽ yêu cầu tất cả code trước khi được deploy thực tế phải vượt qua được buổi review chính thức. Thường thì những buổi review sẽ là technical architect hoặc lead developer thực hiện và sẽ review tất cả mọi thứ. Vì đây là một công đoạn trong quy trình phát triển phần mềm nên mọi lập trình viên sẽ phải tuân thủ theo hướng dẫn có sẵn. Một số công ty, tổ chức có quy trình cứng nhắc hơn nhưng hầu hết thì không, vì cách tiếp cận như vậy thường sẽ phản tác dụng. Những người được review sẽ thấy mình như đang bị đánh giá bởi một hội đồng đặc xá. Họ cần thời gian để đọc cũng như cập nhật hệ thống nếu không họ sẽ bị mắc kẹt trong dự án của mình và tiến trình thực hiện dự án sẽ bị đình trệ.

Ngoài đơn giản chỉ là sửa lỗi code, mục đích của một buổi review code là chia sẻ kinh nghiệm và đưa ra các hướng code chung. Chia sẻ code của bạn với những người cho phép dùng những đoạn code chung. Hãy để một người bất kỳ trong nhóm xem qua code của mọi người.

Đừng chỉ tìm lỗi trong code của họ, bạn nên đánh giá bằng cách cố gắng học và hiểu nó.

Giữ tâm thế nhẹ nhàng trong một buổi review, đảm bảo rằng những đóng góp của bạn có tính chất xây dựng và thân thiện chứ không phải chê bai một cách tiêu cực. Nên có những vai trò khác nhau trong buổi review, tránh việc kinh nghiệm làm việc khác nhau giữa các thành viên trong nhóm ảnh hưởng tới buổi review. Chẳng hạn chúng ta có thể chia ra những vai trò như sau: Một người đảm nhiệm việc tập trung review vào document, một người tập trung vào những ngoại lệ ⚠ có thể xảy ra, một người khác thì tập trung vào các chức năng của dự án,… Điều này giúp ích cho mọi người trong nhóm đều có thể tham gia đánh giá cũng như chia đều gánh nặng cho cả nhóm chứ không phải chỉ một người làm hết mọi thứ.

Đều đặn mỗi tuần nên có một ngày hoặc có thể là vài giờ trong những buổi họp để review code. Luân phiên người được review code trong các buổi họp và đừng quên chuyển đổi vai trò của những người review cho nhau. Hãy khuyến khích những người mới trong những buổi review, họ có thể chưa có nhiều kinh nghiệm, tuy nhiên những kiến thức ở đại học có thể mang đến một góc nhìn khác. Mời các chuyên gia có kinh nghiệm để họ có thể giúp xác định những dòng code dễ gây ra lỗi nhanh và chính xác hơn. Kiểm tra coding conventions bằng các công cụ kiểm thử cũng sẽ giúp buổi review trở nên suôn sẻ và dễ dàng hơn, vì những dòng code sau khi được format bằng các công cụ này sẽ không cần phải đem ra thảo luận nữa.

Việc tạo một không khí vui vẻ trong những buổi review cũng rất quan trọng vì dù sao những người review cũng không phải những cỗ máy. Chắc chắn là sẽ chẳng ai thấy hào hứng nếu tham gia một buổi review nặng nề và buồn tẻ cả. Chia sẻ kinh nghiệm với nhau giữa các thành viên trong những buổi review không chính thức, thay vì mỉa mai code của nhau hãy mang theo hoa quả bánh kẹo và thân thiện với mọi người.