작은 단계로 작업하라
가장 흔한 실수는 한 번에 너무 많은 것을 요청하는 것이다. "인증, 차트, 설정 페이지가 있는 사용자 대시보드를 만들어줘"는 검토할 수 없는 코드의 벽을 낳고, 읽지도 않은 파일들에 버그가 흩어진다.
작은 단계는 당신을 통제 안에 둔다:
- 프롬프트당 하나의 함수, 컴포넌트, 또는 엔드포인트를 출시하라.
- 넘어가기 전에 각 조각이 작동하는지 검증하라.
- 검증되지 않은 출력의 탑이 아니라, 작동이 확인된 코드 위에 쌓아라.
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.
더 작은 프롬프트는 더 작은 diff를 뜻하고, 더 작은 diff는 무엇이 바뀌었는지 실제로 읽을 수 있음을 뜻한다. 그것이 게임의 전부다. 두 번째 이득도 있다: 무언가 깨졌을 때, 작은 단계는 이분 탐색으로 잡아내기가 사소하다. 가입 엔드포인트를 생성하고 검증한 다음, 세션 로직, 그다음 비밀번호 재설정을 했다면, 3단계 이후에 나타난 버그는 거의 확실히 3단계에 산다. 빅뱅 생성은 그 신호를 버린다 — 버그가 당신이 한 번도 읽지 않은 400줄 어디에든 있을 수 있다.