Khi nào nên thực hiện đánh giá mã

Các nhóm nhanh nhẹn tự tổ chức, với các bộ kỹ năng trải dài trong nhóm. Điều này được thực hiện, một phần, với việc xem xét mã. Đánh giá mã giúp các nhà phát triển tìm hiểu cơ sở mã, cũng như giúp họ tìm hiểu các công nghệ và kỹ thuật mới giúp phát triển bộ kỹ năng của họ

Vì vậy, đánh giá mã chính xác là gì?

Khi một nhà phát triển xử lý xong một vấn đề, một nhà phát triển khác sẽ xem qua mã và xem xét các câu hỏi như

  • Có bất kỳ lỗi logic rõ ràng nào trong mã không?
  • Nhìn vào các yêu cầu, có phải tất cả các trường hợp được thực hiện đầy đủ?
  • Các thử nghiệm tự động mới có đủ cho mã mới không?
  • Mã mới có phù hợp với nguyên tắc phong cách hiện tại không?

Đánh giá mã nên tích hợp với quy trình hiện có của nhóm. Ví dụ: nếu một nhóm đang sử dụng quy trình công việc phân nhánh nhiệm vụ, hãy bắt đầu đánh giá mã sau khi tất cả mã đã được viết và các thử nghiệm tự động đã được chạy và thông qua–nhưng trước khi mã được hợp nhất ngược dòng. Điều này đảm bảo thời gian của người đánh giá mã được dành để kiểm tra những thứ mà máy bỏ sót và ngăn các quyết định viết mã kém làm ô nhiễm dòng phát triển chính.  

Có gì trong đó cho một nhóm nhanh nhẹn?

Mọi nhóm đều có thể hưởng lợi từ việc đánh giá mã bất kể phương pháp phát triển nào. Tuy nhiên, các nhóm nhanh nhẹn có thể nhận ra những lợi ích to lớn vì công việc được phân cấp trong nhóm. Không ai là người duy nhất biết một phần cụ thể của cơ sở mã. Nói một cách đơn giản, đánh giá mã giúp tạo điều kiện chia sẻ kiến ​​thức trên cơ sở mã và giữa các nhóm

Đánh giá mã chia sẻ kiến ​​​​thức

Trọng tâm của tất cả các nhóm nhanh nhẹn là sự linh hoạt không thể đánh bại. khả năng loại bỏ công việc tồn đọng và bắt đầu thực hiện bởi tất cả các thành viên trong nhóm. Kết quả là, các nhóm có thể xoay quanh công việc mới tốt hơn vì không ai là "con đường quan trọng". " Các kỹ sư full stack có thể giải quyết công việc ở mặt trước cũng như công việc ở phía máy chủ

Khi đánh giá mã giới thiệu cho các nhà phát triển những ý tưởng và công nghệ mới, họ viết mã ngày càng tốt hơn

Đánh giá mã làm cho ước tính tốt hơn

Bạn còn nhớ phần về ước tính không? . Khi các tính năng mới được thêm vào mã hiện có, nhà phát triển ban đầu có thể cung cấp phản hồi và ước tính tốt. Ngoài ra, bất kỳ người đánh giá mã nào cũng phải đối mặt với sự phức tạp, các vấn đề đã biết và mối quan tâm của khu vực đó trong cơ sở mã. Sau đó, người đánh giá mã sẽ chia sẻ kiến ​​thức của nhà phát triển ban đầu về phần đó của cơ sở mã. Phương pháp này tạo ra nhiều đầu vào được thông báo đầy đủ, khi được sử dụng cho ước tính cuối cùng luôn làm cho ước tính đó mạnh mẽ và đáng tin cậy hơn

Đánh giá mã kích hoạt thời gian nghỉ

Không ai thích trở thành điểm liên lạc duy nhất trên một đoạn mã. Tương tự như vậy, không ai muốn đi sâu vào một đoạn mã quan trọng mà họ không viết – đặc biệt là trong trường hợp khẩn cấp về sản xuất. Đánh giá mã chia sẻ kiến ​​thức trong nhóm để bất kỳ thành viên nào trong nhóm có thể nắm quyền và tiếp tục điều khiển con tàu. (Chúng tôi thích những ẩn dụ hỗn hợp tại Atlassian. ) Nhưng đây là điểm. không có nhà phát triển duy nhất trên con đường quan trọng, điều đó cũng có nghĩa là các thành viên trong nhóm có thể nghỉ ngơi khi cần thiết. Nếu bạn thấy mình bị trói vào bàn làm việc trên hệ thống kiểm soát phiên bản, thì việc xem lại mã là một cách tuyệt vời để tìm thấy sự tự do. Tự do thực hiện kỳ ​​nghỉ cần thiết đó hoặc tự do dành thời gian làm việc trên một lĩnh vực khác của sản phẩm

Đánh giá mã cố vấn cho các kỹ sư mới hơn

Một khía cạnh đặc biệt của Agile là khi các thành viên mới tham gia nhóm, các kỹ sư dày dạn kinh nghiệm hơn sẽ cố vấn cho các thành viên mới hơn. Và đánh giá mã giúp tạo điều kiện thuận lợi cho các cuộc trò chuyện về cơ sở mã. Thông thường, các nhóm có kiến ​​thức ẩn trong mã xuất hiện trong quá trình xem xét mã. Các thành viên mới hơn, với đôi mắt mới mẻ, khám phá những khu vực khó khăn, tốn nhiều thời gian của cơ sở mã cần một góc nhìn mới. Vì vậy, đánh giá mã cũng giúp đảm bảo cái nhìn sâu sắc mới được tôi luyện với kiến ​​thức hiện có

Mẹo chuyên nghiệp

Hãy ghi nhớ, đánh giá mã không chỉ là thành viên nhóm cấp cao xem xét mã của thành viên nhóm cấp dưới. Việc xem xét mã sẽ diễn ra trong toàn nhóm theo mọi hướng. Kiến thức biết không có giới hạn. Có, đánh giá mã có thể giúp các kỹ sư mới hơn, nhưng không có nghĩa là nó chỉ được sử dụng như một bài tập cố vấn.  

Nhưng đánh giá mã mất thời gian

Chắc chắn, họ mất thời gian. Nhưng thời gian đó không hề lãng phí – còn lâu nữa

Khi được thực hiện đúng, đánh giá mã thực sự tiết kiệm thời gian trong thời gian dài

Dưới đây là ba cách để tối ưu hóa cho điều đó.  

Chia sẻ tải

Tại Atlassian, nhiều nhóm yêu cầu hai lần đánh giá bất kỳ mã nào trước khi mã đó được kiểm tra trong cơ sở mã. Âm thanh như rất nhiều chi phí? . Khi một tác giả chọn người đánh giá, họ sẽ tạo ra một mạng lưới rộng khắp nhóm. Bất kỳ hai kỹ sư nào cũng có thể đưa ra ý kiến. Điều này phân cấp quy trình để không ai là nút cổ chai và đảm bảo phạm vi bảo hiểm tốt cho việc xem xét mã trong nhóm

Đánh giá trước khi hợp nhất

Yêu cầu xem xét mã trước khi hợp nhất ngược dòng đảm bảo rằng không có mã nào chưa được xem xét. Điều đó có nghĩa là các quyết định đáng ngờ về kiến ​​trúc được đưa ra lúc 2 giờ sáng và việc thực tập sinh sử dụng không đúng mẫu nhà máy sẽ bị phát hiện trước khi chúng có cơ hội tạo ra tác động lâu dài (và đáng tiếc) đối với ứng dụng của bạn

Sử dụng áp lực ngang hàng để lợi thế của bạn

Khi các nhà phát triển biết mã của họ sẽ được đồng đội xem xét, họ sẽ nỗ lực hơn nữa để đảm bảo rằng tất cả các bài kiểm tra đều được thông qua và mã được thiết kế tốt nhất có thể để việc xem xét diễn ra suôn sẻ. Sự tỉnh thức đó cũng có xu hướng làm cho quá trình viết mã diễn ra suôn sẻ hơn và cuối cùng là nhanh hơn

Đừng đợi đánh giá mã nếu cần phản hồi sớm hơn trong chu kỳ phát triển. Phản hồi sớm và thường tạo ra mã tốt hơn, vì vậy đừng ngại liên quan đến những người khác–bất cứ khi nào có thể. Nó sẽ giúp công việc của bạn tốt hơn, nhưng nó cũng giúp đồng đội của bạn trở thành những người đánh giá mã tốt hơn. Và chu kỳ đạo đức tiếp tục

Chia sẻ bài viết này

Khi nào nên thực hiện đánh giá mã

Dan Radigan

Agile đã có tác động rất lớn đến tôi cả về mặt chuyên môn và cá nhân vì tôi đã học được những kinh nghiệm tốt nhất về sự nhanh nhẹn, cả về viết mã và cuộc sống. Bạn sẽ thường thấy tôi ở điểm giao nhau giữa công nghệ, nhiếp ảnh và mô tô.  

Khi nào bạn sẽ sử dụng đánh giá mã?

Sau khi nhà phát triển phần mềm hoàn thành mã hóa , đánh giá mã là một bước quan trọng để có ý kiến ​​thứ hai về giải pháp và triển khai trước khi hợp nhất vào nhánh ngược dòng như nhánh tính năng .

Có nên xem xét mã trước QA không?

Nói chung, việc xem xét mã chỉ diễn ra sau khi thử nghiệm tự động . Con người không hiệu quả khi xem lại mã chưa đạt tiêu chuẩn của robot. QA có thể được tự động hóa bằng các công cụ và dịch vụ như kiểm tra tự động, hồi quy trực quan, kiểm tra mức mã, kiểm tra trình duyệt tự động, v.v.

Tần suất đánh giá mã nên diễn ra như thế nào?

Một ngày làm việc là thời gian tối đa cần thiết để phản hồi yêu cầu xem lại mã (i. e. , điều đầu tiên vào sáng hôm sau). Tuân thủ các nguyên tắc này có nghĩa là một CL điển hình sẽ nhận được nhiều vòng đánh giá (nếu cần) trong vòng một ngày.

Trong giai đoạn nào mã nên được phân tích và xem xét?

Đánh giá mã là một quy trình không thể thiếu trong phát triển phần mềm nhằm xác định các lỗi và khiếm khuyết trước giai đoạn thử nghiệm . Đánh giá mã thường bị bỏ qua như một hoạt động thường xuyên trong giai đoạn phát triển, nhưng vô số nghiên cứu cho thấy đó là chiến lược đảm bảo chất lượng hiệu quả nhất.