Xây dựng một tính năng hoàn chỉnh trong Claude Code

Thứ bảy - 18/04/2026 02:05

Quy trình làm việc hoàn chỉnh

Trong bài học trước, chúng ta đã khám phá các quy trình làm việc nâng cao. Bây giờ, hãy xây dựng trên nền tảng đó. Đã đến lúc kết hợp mọi thứ lại với nhau. Chúng ta sẽ cùng nhau xây dựng một tính năng hoàn chỉnh bằng cách sử dụng tất cả các kỹ thuật từ sê-ri này.

 
 

Đây không phải là một ví dụ đơn giản. Đây là quy trình làm việc thực tế được sử dụng cho code sản xuất.

Tính năng: Giới hạn tốc độ API

Chúng ta sẽ thêm tính năng giới hạn tốc độ vào API Express.js. Yêu cầu:

  • Giới hạn số lượng yêu cầu mỗi người dùng (theo API key)

  • Giới hạn có thể cấu hình (số yêu cầu mỗi phút)

  • Trả về phản hồi 429 thích hợp khi vượt quá giới hạn

  • Cho phép bỏ qua đối với người dùng quản trị

  • Hỗ trợ Redis cho triển khai phân tán

  • Kiểm thử toàn diện

Hãy bắt đầu xây dựng.

Giai đoạn 1: Lập kế hoạch

Chưa cần viết code. Hãy lập kế hoạch trước.

 
> Tôi cần thêm tính năng giới hạn tốc độ API vào ứng dụng Express.js.
> Yêu cầu:
> - Giới hạn truy cập theo API key cho mỗi người dùng
> - Giới hạn có thể cấu hình
> - Phản hồi lỗi 429 đúng cách
> - Bỏ qua kiểm tra quản trị viên
> - Hỗ trợ bởi Redis
> - Kiểm thử toàn diện
>
> Phác thảo cách triển khai:
> 1. Cần tạo những file nào?
> 2. Cần sửa đổi những file hiện có nào?
> 3. Thứ tự triển khai như thế nào?
> Chưa viết code.

Claude lập kế hoạch. Xem xét lại. Đặt câu hỏi:

 
> Tại sao lại dùng Redis thay vì bộ nhớ trong? Nếu muốn hỗ trợ cả hai thì sao?
 
> Chúng ta sẽ xử lý việc bỏ qua kiểm tra quản trị viên như thế nào - kiểm tra tiêu đề hay tra cứu cơ sở dữ liệu?

Đạt được sự đồng thuận trước khi triển khai.

Giai đoạn 2: Thiết lập ngữ cảnh

Thêm các file liên quan:

 
/add src/middleware/*.js
/add src/config/index.js
/add package.json
/add tests/middleware/*.test.js

Kiểm tra ngữ cảnh:

 
/ls

Chúng ta sẽ thấy các mẫu middleware và cấu trúc cấu hình.

Giai đoạn 3: Triển khai cốt lõi

Xây dựng bộ giới hạn tốc độ:

 
> Tạo middleware giới hạn tốc độ tại src/middleware/rate-limiter.js
>
> Yêu cầu từ kế hoạch của chúng ta:
> - Thuật toán Token bucket
> - Lưu trữ Redis (với dự phòng trong bộ nhớ)
> - Giới hạn có thể cấu hình từ file cấu hình
> - Trả về code 429 với tiêu đề Retry-After
>
> Làm theo các mẫu từ những file middleware hiện có.

Claude tạo middleware. Xem xét nó:

 
> Hãy giải thích cách Token bucket được nạp lại.
 
> Điều gì xảy ra nếu Redis không khả dụng?

Khắc phục mọi sự cố:

 
> Logic dự phòng chưa hoàn toàn chính xác. Khi Redis gặp lỗi, nó nên:
> - Ghi nhật ký lỗi
> - Chuyển sang sử dụng bộ nhớ trong
> - Tiếp tục kiểm tra giới hạn
> Khắc phục điều này.

Giai đoạn 4: Kiểm thử trước

Trước khi tích hợp, hãy viết các bài test:

 
> Tạo các bài test cho bộ giới hạn tốc độ tại tests/middleware/rate-limiter.test.js
>
> Các trường hợp kiểm thử:
> - Cho phép các yêu cầu dưới giới hạn
> - Chặn các yêu cầu vượt quá giới hạn
> - Trả về phản hồi 429 chính xác với Retry-After
> - Chức năng bỏ qua quản trị viên hoạt động
> - Chức năng dự phòng khi Redis gặp lỗi hoạt động
> - Giới hạn được reset sau khi cửa sổ hết hạn

Chạy các bài test:

 
> Chạy các bài test. Tất cả đều phải vượt qua.

Nếu các bài test thất bại, hãy lặp lại:

 
> Bài kiểm thử 3 đang thất bại. Tiêu đề Retry-After không được thiết lập.
> Sửa middleware.

Giai đoạn 5: Tích hợp

Bây giờ hãy kết nối nó:

 
/add src/app.js
> Tích hợp middleware giới hạn tốc độ.
> - Áp dụng toàn hệ thống nhưng sau middleware xác thực
> - Sử dụng cấu hình cho các giá trị giới hạn
> - Thêm vào chuỗi middleware theo đúng thứ tự

Thêm cấu hình:

 
/add src/config/index.js
> Thêm cấu hình giới hạn tốc độ:
> - RATE_LIMIT_WINDOW_MS (default 60000)
> - RATE_LIMIT_MAX_REQUESTS (default 100)
> - RATE_LIMIT_ADMIN_BYPASS (default true)

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

Cần củng cố thêm:

 
> Xem xét lại bộ giới hạn tốc độ cho các trường hợp ngoại lệ:
> - Điều gì xảy ra nếu thiếu API key?
> - Điều gì xảy ra nếu API key bị lỗi định dạng?
> - Còn về tình trạng tranh chấp dữ liệu trong môi trường phân tán thì sao?
> - Điều gì xảy ra nếu cấu hình giới hạn không hợp lệ?
>
> Thêm xử lý cho bất kỳ lỗ hổng nào.

Claude xác định các vấn đề và khắc phục chúng.

Giai đoạn 7: Tài liệu

 
> Tạo tài liệu cho tính năng giới hạn tốc độ:
> - Thêm phần về giới hạn tốc độ vào README
> - Thêm chú thích JSDoc nội tuyến vào middleware
> - Tài liệu hóa các tùy chọn cấu hình
> - Thêm ví dụ về cách kiểm tra giới hạn tốc độ

Giai đoạn 8: Đánh giá cuối cùng

Đánh giá đầy đủ trước khi cam kết:

 
> Xem xét lại tất cả những gì chúng ta đã xây dựng:
> - src/middleware/rate-limiter.js
> - tests/middleware/rate-limiter.test.js
> - Các thay đổi đối với src/app.js và cấu hình
>
> Có vấn đề gì không? Thiếu trường hợp kiểm thử? Có lỗi tiềm ẩn?

Chạy các bài kiểm tra cuối cùng:

 
> Chạy tất cả các bài kiểm tra. Xác nhận mọi thứ đều đạt.

Kiểm tra trạng thái git:

 
git status
git diff

Giai đoạn 9: Cam kết

Xóa lịch sử git:

 
git add src/middleware/rate-limiter.js
git commit -m "feat: thêm middleware giới hạn tốc độ với lưu trữ Redis"

git add tests/middleware/rate-limiter.test.js
git commit -m "test: thêm độ phủ kiểm thử giới hạn tốc độ"

git add src/app.js src/config/index.js
git commit -m "feat: tích hợp giới hạn tốc độ toàn hệ thống"

git add README.md
git commit -m "docs: tài liệu cấu hình giới hạn tốc độ"

Các cam kết logic mà mỗi cam kết có thể được hoàn tác độc lập.

Thử thách cuối khóa của bạn

Hãy tự xây dựng tính năng này bằng Claude Code:

Tính năng: Ghi nhật ký yêu cầu API

Yêu cầu:

  • Ghi nhật ký tất cả các yêu cầu API đến

  • Bao gồm: dấu thời gian, phương thức, đường dẫn, ID người dùng, thời gian phản hồi, code trạng thái

  • Lưu trữ trong cơ sở dữ liệu (hoặc file để đơn giản)

  • Mức độ ghi nhật ký có thể cấu hình

  • Khả năng truy vấn/tìm kiếm nhật ký

  • Kiểm thử

Quy trình làm việc của bạn nên bao gồm:

  1. Phiên lập kế hoạch (chưa viết code)

  2. Thiết lập ngữ cảnh (thêm các file liên quan)

  3. Triển khai cốt lõi

  4. Test

  5. Tích hợp

  6. Xử lý các trường hợp ngoại lệ

  7. Tạo tài liệu

  8. Xem xét cuối cùng

  9. Cam kết sạch

Sử dụng tất cả những gì bạn đã học.

Nguyên tắc chính

  1. Bối cảnh là tất cả. Chất lượng hơn số lượng.

  2. Lập kế hoạch trước khi thực hiện. Đặc biệt là đối với bất cứ điều gì không tầm thường.

  3. Lặp lại, đừng bắt đầu lại từ đầu. Xây dựng dựa trên những gì đã hiệu quả.

  4. Kiểm chứng liên tục. Kiểm thử sớm và thường xuyên.

  5. Git là lưới an toàn của bạn. Cam kết thường xuyên, hoàn tác dễ dàng.

  6. Sử dụng mức độ hướng dẫn phù hợp. Phân bổ nỗ lực phù hợp với độ phức tạp của nhiệm vụ.

Bước tiếp theo

Bạn đã có nền tảng. Bây giờ:

  • Thực hành hàng ngày. Mỗi nhiệm vụ là một cơ hội để trở nên tốt hơn.

  • Xây dựng quy trình làm việc của riêng bạn. Điều chỉnh các mẫu cho phù hợp với dự án của bạn.

  • Luôn cập nhật. Claude Code phát triển. Kiểm tra các tính năng mới.

  • Chia sẻ kiến ​​thức. Dạy người khác những gì bạn đã học được.

Nguồn tin: Quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập47
  • Máy chủ tìm kiếm8
  • Khách viếng thăm39
  • Hôm nay15,442
  • Tháng hiện tại375,356
  • Tổng lượt truy cập15,802,606
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây