Làm việc theo từng bước nhỏ
Sai lầm phổ biến nhất là yêu cầu quá nhiều thứ cùng một lúc. "Build me a user dashboard with auth, charts, and a settings page" sẽ tạo ra một khối lượng mã bạn không thể xem xét hết, với lỗi rải rác ở những tệp bạn chưa đọc.
Các bước nhỏ giúp bạn giữ quyền kiểm soát:
- Chuyển giao một hàm, một component, hoặc một mỗi .
- Kiểm chứng từng phần hoạt động trước khi tiếp tục.
- Xây dựng trên nền mã đã được xác nhận hoạt động, chứ không phải trên một tòa tháp gồm những đầu ra chưa được kiểm chứng.
Build the whole authentication system with login, signup,
password reset, sessions, and email verification.
Step 1 of the auth flow: write just the signup endpoint.
POST /signup taking { email, password }. Hash the password
with bcrypt, store the user, return 201 with the user id.
Assume the User model and db client already exist (I'll show
you their shapes). We'll handle login next.
Các prompt nhỏ hơn đồng nghĩa với các diff (bản chênh lệch mã) nhỏ hơn, và các diff nhỏ hơn đồng nghĩa với việc bạn thực sự có thể đọc được những gì đã thay đổi. Đó là toàn bộ cuộc chơi. Còn có một lợi ích thứ hai nữa: khi có gì đó bị hỏng, một bước nhỏ thì dễ dàng để "bisect" (chia đôi để tìm lỗi). Nếu bạn đã tạo và kiểm chứng endpoint đăng ký, rồi logic phiên (), rồi đặt lại mật khẩu, thì một lỗi xuất hiện sau bước ba gần như chắc chắn nằm ở bước ba. Việc tạo mã ồ ạt một lần đánh mất tín hiệu đó — lỗi có thể nằm ở bất cứ đâu trong bốn trăm dòng mà bạn chưa từng đọc.