Đánh giá mã

Đánh giá mã

Đánh giá các thay đổi mã trên các ứng dụng ChatGPT và Codex

Sử dụng ChatGPT hoặc Codex để hiểu các thay đổi trong mã, tìm hiểu những vấn đề tiềm ẩn và chuẩn bị phản hồi rà soát.

Rà soát pull request

Plugin Code Review hiển thị mô tả, các tệp đã thay đổi, bình luận và các bước kiểm tra của pull request. Sử dụng plugin này để tìm hiểu những vấn đề tiềm ẩn trước khi phê duyệt.

Tính năng rà soát mã GitHub đã được phát hành rộng rãi. Khả năng hỗ trợ merge request GitLab trong Code Review đang ở giai đoạn xem trước. Để kích hoạt rà soát trên đám mây từ GitLab bằng @codex review hoặc tính năng tự động rà soát merge request, hãy xem Rà soát merge request GitLab bằng Codex.

Đối với các lượt rà soát được kích hoạt từ kho mã, hãy xem hướng dẫn tích hợp GitHub và thiết lập môi trường Codex Cloud (Legacy).

Ứng dụng dành cho máy tính có sẵn Code Review. Bạn có thể ghim tính năng này vào thanh bên của ứng dụng từ danh sách plugin đã cài đặt.

Xem pull request

  1. Mở Code Review từ thanh bên.
  2. Kết nối tài khoản trên nền tảng lưu trữ mã nguồn khi được nhắc. Sử dụng tài khoản có quyền truy cập vào kho mã bạn muốn rà soát.
  3. Chọn một pull request từ thanh bên hoặc nhập liên kết của pull request vào trường tìm kiếm.
  4. Đọc Tóm tắt để xem mô tả, hoạt động, bình luận và các bước kiểm tra. Mở Thay đổi để kiểm tra các tệp đã thay đổi và bình luận bên cạnh bản diff.

Tìm các lượt rà soát cần chú ý

Sử dụng hộp thư cá nhân để tìm các pull request GitHub trên nhiều kho mã. Chọn Được giao cho tôi để xem các yêu cầu rà soát dành cho bạn, Được giao cho nhóm của tôi để xem yêu cầu dành cho nhóm, hoặc Do tôi tạo để quay lại các thay đổi của bạn. Kiểm tra trạng thái rà soát, rồi mở pull request để xem phản hồi và các bước kiểm tra.

Để quay lại một lượt rà soát sau này, hãy chọn biểu tượng ghim trên thanh công cụ của lượt rà soát đó. Pull request sẽ xuất hiện trong mục Đã ghim ở thanh bên.

Kiểm tra các tệp đã thay đổi và pull request liên quan

Trong Thay đổi, chọn Đánh dấu đã xem trên một tệp sau khi rà soát tệp đó. Chọn lại nút này để bỏ dấu. Dấu đã xem áp dụng cho phiên bản đang hiển thị.

Với các thay đổi được chia thành nhiều pull request phụ thuộc lẫn nhau, hãy dùng Chuỗi pull request trong Tóm tắt để mở một pull request liên quan và kiểm tra bản diff, bình luận cùng các bước kiểm tra của pull request đó. Mục này xuất hiện khi Code Review tìm thấy một chuỗi pull request đang mở.

Đọc kết quả rà soát tự động trên đám mây

Khi có trình kết nối ChatGPT Codex, các quyền cần thiết đối với kho lưu trữ và đã bật tính năng rà soát tự động, Codex có thể rà soát một pull request trên GitHub trước khi bạn mở nó. Bình luận xuất hiện trên GitHub và trong Code Review.

Rà soát trên đám mây không yêu cầu bạn tạo hoặc quản lý môi trường đám mây. Để biết các yêu cầu kết nối, cài đặt kho lưu trữ và cách kích hoạt rà soát bằng @codex review, hãy xem Sử dụng Codex trong GitHub.

Đối chiếu các phát hiện từ lượt rà soát với bản diff. Các lượt rà soát tự động trên đám mây độc lập với các lượt rà soát bạn bắt đầu trong cuộc trò chuyện của pull request.

Đặt câu hỏi về thay đổi

Trong cuộc trò chuyện của pull request, hãy mô tả hành vi mong đợi và yêu cầu Codex giải thích hoặc tìm hiểu thay đổi.

Chọn Rà soát với Codex để bắt đầu một lượt rà soát trong cuộc trò chuyện mới. Nếu đang xem pull request bên cạnh một cuộc trò chuyện có sẵn, hãy dùng cuộc trò chuyện đó để hỏi về thay đổi.

Sử dụng các skills đã cài đặt và nguồn đã kết nối để cung cấp cho Codex hướng dẫn rà soát hoặc tài liệu thiết kế của nhóm. Yêu cầu Codex tóm tắt thay đổi và giải thích các rủi ro, rồi xác minh ngữ cảnh và mã mà Codex tham chiếu.

Ví dụ: một pull request thêm bộ lọc Đang mở và Đã đóng vào bảng vấn đề. Bạn muốn Tất cả vẫn là lựa chọn mặc định và hiển thị trạng thái trống khi không có vấn đề nào phù hợp:

Walk me through this pull request. Focus on the default filter and what
happens when there are no matching issues. All should remain the default.

Yêu cầu bằng chứng:

Show me the code path and tests for the no-matches case. Explain what is
covered and what still needs verification.

Đối chiếu bản diff và các kiểm thử được tham chiếu với hành vi mong đợi.

Chọn một phát hiện để xem phần giải thích và các dòng liên quan trong Thay đổi. Đối chiếu phát hiện đó với bản diff mới nhất, hành vi mong đợi và các kiểm thử trước khi quyết định có cần sửa hay không. Sử dụng cuộc trò chuyện rà soát để dừng một lượt rà soát đang chạy.

Tùy chỉnh lượt rà soát

Chọn biểu tượng bánh răng Hướng dẫn rà soát bên cạnh Rà soát với Codex. Bạn cũng có thể chỉnh sửa các hướng dẫn này trong Cài đặt > Code Review.

Cung cấp cho Codex các tiêu chí và định dạng báo cáo áp dụng cho mọi lượt rà soát của bạn, ví dụ:

Start with a short summary. Prioritize behavior changes, data loss, and
missing edge-case tests. For each finding, explain the triggering input,
expected behavior, and actual behavior. Use our team's concise review style.

Các hướng dẫn này áp dụng cho những lượt rà soát bạn bắt đầu bằng Rà soát với Codex trên mọi kho lưu trữ. Những chỉnh sửa được thực hiện khi một lượt rà soát đang chạy sẽ áp dụng cho lượt rà soát tiếp theo. Sử dụng cuộc trò chuyện của pull request để đặt câu hỏi riêng về một thay đổi.

Nếu muốn, hãy chọn Truyện tranh, Trực quan hóa hoặc PDF để thêm một hướng dẫn được gợi ý nhằm giải thích thay đổi theo định dạng đó. Chỉnh sửa nội dung nếu cần, rồi chọn Lưu hoặc Chạy rà soát.

Chia sẻ phản hồi và tiếp tục xử lý

Việc rà soát pull request trong cuộc trò chuyện không đăng bình luận, phê duyệt hay hợp nhất pull request đó. Bạn quyết định sẽ chia sẻ những phát hiện nào.

Sau khi xác minh một vấn đề đáng lưu ý, hãy yêu cầu Codex giúp soạn bình luận rà soát:

Using the team review guidelines we discussed, draft a comment describing
the no-matches behavior we verified, what should happen instead, and the test
that would cover it. Keep the comment as a draft.

Kiểm tra các tham chiếu đến tệp và dòng trong bản nháp trước khi đăng. Giữ bản nháp trong cuộc trò chuyện cho đến khi bạn sẵn sàng: đăng trong Tóm tắt hoặc Thay đổi sẽ gửi bình luận đến nhà cung cấp dịch vụ lưu trữ mã nguồn ngay lập tức, không chờ thao tác Gửi kết quả rà soát.

Dùng Gửi kết quả rà soát để chọn Bình luận, Phê duyệt hoặc Yêu cầu thay đổi và gửi kết quả rà soát đến nhà cung cấp dịch vụ lưu trữ mã nguồn. Kiểm tra quyết định đã chọn và bình luận rà soát trước khi gửi.

Nếu là tác giả, hãy quay lại pull request của bạn và yêu cầu Codex xử lý phản hồi cụ thể. Kiểm tra các thay đổi sau đó và chạy những kiểm thử liên quan. Trước khi phê duyệt hoặc hợp nhất, hãy kiểm tra phiên bản mới nhất, các bước kiểm tra và những phản hồi chưa được xử lý.

Việc chỉnh sửa mô tả pull request có đính kèm hình ảnh chưa được hỗ trợ trong Code Review. Hãy mở pull request trên GitHub để chỉnh sửa các mô tả đó.

Tiếp tục trong cuộc trò chuyện

Khi Tóm tắt hiển thị Luồng trò chuyện, hãy chọn một cuộc trò chuyện được liên kết để quay lại cuộc trò chuyện đó. Đây là những cuộc trò chuyện của bạn gắn với pull request.

Trong Codex, chọn Sửa trong Kiểm tra trên một pull request đang mở để đính kèm các bước kiểm tra không đạt vào cuộc trò chuyện. Thao tác này soạn sẵn tin nhắn nhưng chưa gửi. Xem lại hoặc bổ sung yêu cầu của bạn, rồi gửi để yêu cầu Codex tìm hiểu. Kiểm tra các thay đổi sau đó và chạy lại những kiểm thử liên quan trước khi đẩy bản sửa lên.

Thông tin chẩn đoán có sẵn tùy thuộc vào nhà cung cấp dịch vụ kiểm tra. Với CI của bên thứ ba, Codex có thể sử dụng trạng thái và đầu ra được báo cáo về GitHub.

Rà soát các thay đổi cục bộ

Lệnh /review tích hợp sẵn của Codex rà soát các thay đổi trong bản checkout Git của bạn, còn plugin Code Review làm việc với các pull request. Chọn ứng dụng khách bạn sử dụng để xem các bước phù hợp.

Đánh giá trong ứng dụng

Mở ngăn đánh giá để tìm hiểu những nội dung đã thay đổi, đưa ra phản hồi cho từng dòng và quyết định nội dung cần stage, revert, commit hoặc push.

Để yêu cầu Codex đánh giá các thay đổi, hãy nhập /review vào ô soạn thảo. Chọn Đánh giá dựa trên một nhánh cơ sở hoặc Đánh giá các thay đổi chưa commit. Codex báo cáo các phát hiện theo thứ tự ưu tiên mà không thay đổi cây làm việc của bạn.

Ngăn đánh giá yêu cầu dự án phải nằm trong một kho lưu trữ Git. Nếu dự án của bạn chưa phải là một kho lưu trữ Git, ứng dụng sẽ nhắc bạn tạo kho lưu trữ.

Chọn phạm vi đánh giá

Các thay đổi được hiển thị

Ngăn đánh giá phản ánh trạng thái của kho lưu trữ Git, không chỉ những nội dung Codex đã chỉnh sửa. Ngăn này bao gồm các thay đổi do Codex thực hiện, các thay đổi do chính bạn thực hiện và mọi thay đổi chưa commit khác trong kho lưu trữ.

Theo mặc định, ngăn đánh giá hiển thị các thay đổi Chưa stage. Sử dụng Đã stage cho chỉ mục Git, Commit cho một commit đã chọn, Nhánh cho phần khác biệt so với nhánh cơ sở hoặc Lượt gần nhất cho lượt trợ lý gần đây nhất.

Đánh giá nhiều kho lưu trữ

Khi một dự án cục bộ bao gồm nhiều thư mục được quản lý bởi các kho lưu trữ Git khác nhau, ngăn đánh giá có thể hiển thị thay đổi từ từng kho lưu trữ. Mở bộ chọn kho lưu trữ trong tiêu đề đánh giá để kiểm tra một kho lưu trữ khác và xem các dòng được thêm hoặc xóa mà không cần rời khỏi ngăn đánh giá hiện tại.

Chọn Lượt gần nhất để xem những thay đổi mới nhất của trợ lý trên các kho lưu trữ được đính kèm. Bộ chọn kho lưu trữ hiển thị Tất cả kho lưu trữ cho chế độ xem đó. Các phạm vi đánh giá khác, chẳng hạn như Chưa stage, Đã stage và Nhánh, áp dụng cho kho lưu trữ bạn chọn.

Làm việc với kết quả đánh giá

Kết quả đánh giá mã

Các phát hiện từ quá trình đánh giá xuất hiện dưới dạng nhận xét nội tuyến trong ngăn đánh giá.

Theo mặc định, các lượt rà soát chạy trong cuộc trò chuyện hiện tại. Trong Cài đặt > Chung > Rà soát mã, chọn Tách riêng để bắt đầu một cuộc trò chuyện rà soát riêng. Xem cài đặt dành cho nhà phát triển.

Các bình luận rà soát mã theo dòng hiển thị trong khung rà soát

Nếu bạn yêu cầu Codex áp dụng các bản sửa lỗi mà Codex tìm thấy, cài đặt môi trường cô lập và phê duyệt thông thường của bạn sẽ được áp dụng.

Điều hướng ngăn đánh giá

  • Nhấp vào tên tệp thường sẽ mở tệp đó trong trình soạn thảo bạn đã chọn. Bạn có thể chọn trình soạn thảo mặc định trong cài đặt dành cho nhà phát triển.
  • Nhấp vào vùng nền của tên tệp để mở rộng hoặc thu gọn bản diff.
  • Nhấp vào một dòng trong khi giữ phím Command để mở dòng đó trong trình soạn thảo bạn đã chọn.
  • Nếu hài lòng với một thay đổi, bạn có thể đưa thay đổi đó vào vùng chờ hoặc hoàn tác các thay đổi không mong muốn.

Nhận xét nội tuyến để phản hồi

Nhận xét nội tuyến cho phép bạn đính kèm phản hồi trực tiếp vào các dòng cụ thể trong phần khác biệt. Đây thường là cách nhanh nhất để hướng dẫn Codex thực hiện bản sửa lỗi phù hợp.

Để để lại nhận xét nội tuyến:

  1. Mở ngăn đánh giá.
  2. Di chuột lên dòng bạn muốn nhận xét.
  3. Chọn nút + xuất hiện.
  4. Viết và gửi phản hồi của bạn.
  5. Sau khi hoàn tất việc để lại phản hồi, hãy gửi một tin nhắn trở lại cuộc trò chuyện.

Vì nhận xét gắn với từng dòng cụ thể, Codex có thể phản hồi chính xác hơn so với khi nhận một chỉ dẫn chung.

Codex xem nhận xét nội tuyến là hướng dẫn đánh giá. Sau khi để lại nhận xét, hãy gửi một tin nhắn tiếp theo nêu rõ ý định của bạn, chẳng hạn như “Xử lý các nhận xét nội tuyến và giữ phạm vi thay đổi ở mức tối thiểu.”

Stage và revert tệp

Ngăn đánh giá bao gồm các thao tác Git để bạn có thể điều chỉnh phần khác biệt trước khi commit.

Bạn có thể stage, unstage hoặc revert các thay đổi ở các cấp độ sau:

  • Toàn bộ phần khác biệt: Sử dụng các nút thao tác trong tiêu đề đánh giá, chẳng hạn như Stage tất cả hoặc Revert tất cả.
  • Theo tệp: Stage, unstage hoặc revert một tệp riêng lẻ.
  • Theo hunk: Stage, unstage hoặc revert một hunk riêng lẻ.

Sử dụng stage khi bạn muốn chấp nhận một phần công việc và revert khi bạn muốn loại bỏ phần đó.

Trạng thái đã stage và chưa stage

Git có thể biểu diễn cả thay đổi đã stage và chưa stage trong cùng một tệp. Khi điều đó xảy ra, ngăn này có thể hiển thị cùng một tệp trong cả hai chế độ xem. Đây là hành vi bình thường của Git.