3 điểm bởi GN⁺ 2023-10-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giải thích ưu và nhược điểm của việc dùng unified diff và split diff trong review code
  • unified diff và split diff phù hợp với những thay đổi đơn giản và nhỏ
  • Với những thay đổi lớn và phức tạp, unified diff hay split diff đều không lý tưởng
  • Tác giả thích xem xét toàn bộ codebase tại một thời điểm cụ thể, tập trung vào các khu vực mới được thay đổi nhưng cũng thực hiện đánh giá tổng quát
  • Tác giả đề xuất rằng giao diện diff lý tưởng sẽ hiển thị trạng thái hiện tại của mã ở bên trái, và ở bên phải là unified diff của codebase đang hiển thị kèm phần thay đổi được nhấn mạnh một cách tinh tế
  • Chỉ ra rằng kiểu review này không được các công cụ hiện có hỗ trợ tốt, vì chúng tập trung vào việc review diff hơn là mã thực tế
  • Tác giả dùng một workflow low-tech cho kiểu review này, sử dụng script để kiểm tra pull request trên máy cục bộ. Script này xóa toàn bộ commit của pull request nhưng vẫn giữ lại mọi thay đổi
  • Workflow của tác giả cho phép dễ dàng điều hướng giữa các tệp đã thay đổi và đánh dấu các hunk đã review, nhưng thiếu khả năng đồng bộ tự động giữa status buffer và tệp hiện đang mở trong editor
  • Tác giả muốn có một công cụ giúp việc review code theo cách này trở nên dễ dàng mà không cần tự tạo công cụ ad-hoc tùy biến
  • Tác giả cũng lưu ý rằng dù bài viết bàn về cách review code, mục tiêu chính của code review không nhất thiết là review chính đoạn code, và giới thiệu các bài viết liên quan về chủ đề này bằng liên kết

1 bình luận

 
GN⁺ 2023-10-25
Ý kiến Hacker News
  • Bài viết này thảo luận về sự khác biệt giữa diff hợp nhất và diff tách đôi trong quá trình review code.
  • Một số người bình luận cho rằng kiểu review thay đổi tùy theo nhóm và ticket; một số thích việc rà soát tinh thần như một cặp mắt thứ hai, trong khi số khác ưa chuộng review trước khi merge ở mức sâu và có cấu trúc cho tính năng.
  • Công cụ có tên difftastic được nhắc đến; công cụ này sử dụng structural diffing để làm nổi bật diff chi tiết hơn.
  • Một số người bình luận dùng script với vim để xem xét các thay đổi khi mở PR để review.
  • Khó khăn của việc review code trong các codebase lớn và phức tạp được nhấn mạnh, và vấn đề liên quan đến văn hóa cùng việc chia sẻ kiến thức nhiều hơn là công cụ.
  • Có ý kiến nhắc đến một tính năng của GitHub là nhấn . để vào IDE đầy đủ ngay trong trình duyệt, hữu ích để xem các thay đổi trong ngữ cảnh của toàn bộ tệp.
  • Một số người bình luận đặt câu hỏi về sở thích của tác giả trong việc loại bỏ ngữ cảnh không cần thiết ở diff tách đôi, trong khi số khác nhớ các tính năng của những công cụ khác như p4merge.
  • Việc dùng VSCode của GitHub trong trình duyệt để xem diff được đề xuất nhằm xem toàn bộ tệp và các diff phức tạp dễ đọc hơn.
  • Meld được đề xuất là một công cụ hoạt động tốt cho các trường hợp sử dụng này.