Quy trình làm việc nâng cao trong Claude Code

Nâng cao kỹ năng

Trong bài học trước, chúng ta đã tìm hiểu về tích hợp bash. Giờ hãy xây dựng trên nền tảng đó. Bạn đã biết những điều cơ bản. Giờ hãy xem cách kết hợp chúng để phát triển ứng dụng thực tế.

Các quy trình làm việc này thể hiện cách những chuyên gia thực sự sử dụng Claude Code cho công việc nghiêm túc.

Quy trình làm việc: Cải tiến từng bước

Thay vì cố gắng viết code hoàn hảo ngay từ đầu, hãy xây dựng từng bước một.

Giai đoạn 1: Triển khai hoạt động

> Tạo một hàm để lấy dữ liệu người dùng từ API và lưu vào cache.
> Tập trung vào việc làm cho nó hoạt động. Chưa cần lo lắng về các trường hợp ngoại lệ.

Trước tiên hãy tạo ra một cái gì đó hoạt động được.

Giai đoạn 2: Thêm các bài test

> Bây giờ hãy thêm các bài test cho hàm này. Bao gồm:
> - Lấy dữ liệu thành công
> - Lỗi mạng
> - Phản hồi không hợp lệ
> - Truy cập thành công vào cache

Thực hiện các bài kiểm thử trước khi tinh chỉnh.

Giai đoạn 3: Các trường hợp ngoại lệ

> Bây giờ hãy cải thiện việc triển khai:
> - Xử lý giới hạn tốc độ
> - Thêm logic thử lại với backoff
> - Xử lý phản hồi một phần

Các cải tiến phải có mục tiêu.

Giai đoạn 4: Tăng cường độ bảo mật cho môi trường sản xuất

> Xem xét khả năng sẵn sàng cho môi trường sản xuất:
> - Thông báo lỗi chính xác
> - Ghi nhật ký
> - An toàn kiểu dữ liệu
> - Tài liệu

Hoàn thiện cuối cùng.

Tại sao phương pháp này hiệu quả: Mỗi giai đoạn đều có mục tiêu rõ ràng. Bạn xác minh ở mỗi bước. Các vấn đề được phát hiện sớm.

Quy trình làm việc: Đối tác đánh giá code

Sử dụng Claude làm người đánh giá code trước khi mở PR.

/add $(git diff --name-only main)
> Xem xét những thay đổi này như thể bạn là một nhà phát triển cấp cao.
> Tập trung vào:
> - Lỗi logic
> - Các trường hợp ngoại lệ có thể bị bỏ sót
> - Vấn đề về hiệu suất
> - Vấn đề bảo mật
> Đánh dấu bất kỳ điều gì khiến bạn lo ngại.

Claude phát hiện ra các vấn đề trước khi đồng đội của bạn làm được.

Các bước tiếp theo:

> Phát hiện nguy cơ tấn công SQL injection. Hãy sửa lỗi đó.
> Trường hợp ngoại lệ bạn đã đề cập - hãy thêm một bài test cho nó.
> Thêm xử lý lỗi cho các tình huống bạn đã xác định.

Quy trình làm việc: Tái cấu trúc quy mô lớn

Việc tái cấu trúc trên nhiều file cần có cấu trúc.

Bước 1: Lập kế hoạch

> Chúng ta cần chuyển đổi tất cả code bất đồng bộ dựa trên callback sang async/await.
> Đầu tiên, hãy quét code nguồn và liệt kê tất cả các file cần thay đổi.
> Phân nhóm chúng theo độ phức tạp (đơn giản, trung bình, phức tạp).

Bước 2: Tạo hướng dẫn chuyển đổi

> Tạo một file markdown hiển thị các ví dụ trước/sau cho những mẫu của chúng ta.
> Đây sẽ là tài liệu tham khảo cho việc tái cấu trúc.

Bước 3: Thực hiện theo từng phần

# Phiên 1
/add src/utils/*.js
> Chuyển đổi các file này sang async/await. Làm theo hướng dẫn chuyển đổi.

# Xác minh
> Chạy các bài kiểm tra cho những file này.

# Phiên 2
/clear
/add src/services/*.js
> Chuyển đổi các file này sang async/await. Sử dụng cùng các mẫu.

# Tiếp tục từng phần...

Bước 4: Xác minh tính đầy đủ

> Tìm kiếm trong code nguồn các mẫu gọi lại còn thiếu.
> Liệt kê bất kỳ file nào chúng ta đã bỏ sót.

Quy trình làm việc: Phát triển dựa trên test

Claude rất giỏi về TDD khi bạn cấu trúc quy trình làm việc.

> Chúng ta đang thêm một công cụ tính tổng giỏ hàng.
> Đầu tiên, hãy viết các bài test. Hãy xem xét:
> - Giỏ hàng trống
> - Một mặt hàng
> - Nhiều mặt hàng
> - Giảm giá
> - Tính thuế
> - Làm tròn số tiền
> Chưa triển khai - chỉ cần test.

Xem lại các bài test. Sau đó:

> Bây giờ hãy triển khai để tất cả các bài test đều đạt.

Sau đó:

> Chạy các bài test. Sửa bất kỳ lỗi nào.

Quy trình làm việc: Hiểu code nguồn cũ

Khi kế thừa code nguồn không quen thuộc:

Bước 1: Tổng quan

/add README.md package.json src/index.js
> Hãy cho tôi một cái nhìn tổng quan về dự án này.
> Công nghệ sử dụng là gì? Mục đích chính là gì?

Bước 2: Kiến trúc

/add src/*.js
> Phác thảo kiến ​​trúc. Các module chính là gì?
> Chúng kết nối với nhau như thế nào?

Bước 3: Phân tích chuyên sâu

/add src/core/*.js
> Đây dường như là logic cốt lõi. Hãy giải thích cách nó hoạt động.

Bước 4: Tài liệu hóa

> Tạo một file ARCHITECTURE.md ghi lại những gì chúng ta đã tìm thấy.

Quy trình làm việc: Phát triển tính năng dựa trên flag tính năng

Đối với các tính năng cần có thể bật/tắt:

> Triển khai tính năng tìm kiếm mới đằng sau một flag tính năng.
> Yêu cầu:
> - Tên flag: NEW_SEARCH_ENABLED
> - Mặc định: false
> - Có thể triển khai dần dần
> - Dễ dàng gỡ bỏ sau khi triển khai đầy đủ

Sau đó:

> Flag tính năng NEW_SEARCH_ENABLED hiện đã được triển khai 100%.
> Gỡ bỏ flag và dọn dẹp đường dẫn code cũ.

Quy trình làm việc: Gỡ lỗi bằng phương pháp "vịt cao su"

Đôi khi bạn cần Claude suy nghĩ cùng bạn, chứ không phải thay bạn.

> Tôi đang gặp khó khăn với lỗi xác thực này.
> Hãy để tôi giải thích những gì tôi nghĩ đang xảy ra, và bạn cho tôi biết liệu logic của tôi có lỗ hổng nào không.

[Giải thích sự hiểu biết của bạn]

> Tôi đang thiếu điều gì? Giả định của tôi có thể sai ở đâu?

Claude thường phát hiện ra lỗi trong lập luận của bạn.

Biến thể: Phân tích code

/add src/complex-logic.js
> Phân tích code này như thể đang giải thích cho một lập trình viên mới vào nghề.
> Tôi muốn xác minh xem mình có hiểu đúng không.

Quy trình làm việc: Phản hồi sự cố sản xuất

Khi có lỗi xảy ra:

> Chúng tôi đang gặp sự cố sản xuất. Người dùng đang thấy lỗi 500 khi thanh toán.
> Hãy giúp tôi điều tra. Đây là những gì chúng tôi biết:
> [Dán nhật ký lỗi]

/add src/checkout/*.js
> Điều gì có thể gây ra lỗi này?

Sau đó:

> Hãy kiểm tra giả thuyết 1: sự cố kết nối cơ sở dữ liệu.
> Tôi nên chạy lệnh nào để xác minh?
> Điều đó ổn. Bây giờ giả thuyết 2: tình trạng tranh chấp trong quá trình kiểm tra kho hàng.
> Hãy giải thích cho tôi cách điều này có thể xảy ra.

Hãy gỡ lỗi có hệ thống với sự hỗ trợ của AI.

Quy trình làm việc: Thay đổi trên nhiều code nguồn

Đối với các thay đổi trải rộng trên nhiều kho lưu trữ:

# Trong kho lưu trữ API
> Chúng tôi đang thêm một trường mới "phoneNumber" vào User response.
> Cập nhật API để bao gồm trường này.

# Trong kho lưu trữ giao diện người dùng (phiên mới)
/clear
> API hiện trả về "phoneNumber" trong User object.
> Cập nhật giao diện người dùng để hiển thị nó trên trang profile.

# Trong kho lưu trữ di động (phiên mới)
/clear
> API hiện trả về "phoneNumber" trong User object.
> Cập nhật ứng dụng di động để xử lý nó.

Claude không chia sẻ ngữ cảnh giữa các phiên, nhưng bạn có thể mô tả sự thay đổi giữa những kho lưu trữ trong mỗi phiên.

Những điểm chính cần ghi nhớ

  • Cải tiến dần dần: Hoạt động → kiểm thử → đã hoàn thiện
  • Sử dụng Claude như một người đánh giá code trước khi gửi yêu cầu kéo (PR)
  • Cấu trúc các lần tái cấu trúc lớn: Lập kế hoạch → chia nhỏ → xác minh → lặp lại
  • Quy trình làm việc TDD: Kiểm thử trước, sau đó mới triển khai
  • Sử dụng Claude để tìm ra các lỗ hổng logic
  • Điều chỉnh độ phức tạp của quy trình làm việc cho phù hợp với độ phức tạp của nhiệm vụ
  • Câu 1:

    Mục đích của quy trình 'vịt cao su' là gì?

    GIẢI THÍCH:

    Phương pháp "vịt cao su" yêu cầu Claude giải thích code và cách tiếp cận của bạn. Điều này thường giúp phát hiện ra những lỗ hổng, giả định hoặc vấn đề mà bạn chưa nhận thấy.

  • Câu 2:

    Bạn nên tiếp cận việc tái cấu trúc quy mô lớn với Claude như thế nào?

    GIẢI THÍCH:

    Việc tái cấu trúc lớn cần một kế hoạch rõ ràng, thực hiện theo từng phần với xác minh ở mỗi bước và các điểm hoàn tác rõ ràng nếu có điều gì đó không ổn.

  • Câu 3:

    Quy trình 'tinh chỉnh dần' là gì?

    GIẢI THÍCH:

    Tinh chỉnh dần nghĩa là có được một triển khai hoạt động trước, sau đó lặp lại thông qua các cải tiến - kiểm thử, xử lý lỗi, những trường hợp ngoại lệ - thay vì cố gắng làm cho mọi thứ hoàn hảo trong một lần.

Thứ Sáu, 17/04/2026 10:55
51 👨 10
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo