작은 단계로 작업하라
가장 흔한 실수는 한 번에 너무 많은 것을 요청하는 것이다. "인증, 차트, 설정 페이지가 있는 사용자 대시보드를 만들어줘"는 검토할 수 없는 코드의 벽을 낳고, 읽지도 않은 파일들에 버그가 흩어진다.
작은 단계는 당신을 통제 안에 둔다:
- 프롬프트당 하나의 함수, 컴포넌트, 또는 엔드포인트를 출시하라.
- 넘어가기 전에 각 조각이 작동하는지 검증하라.
- 검증되지 않은 출력의 탑이 아니라, 작동이 확인된 코드 위에 쌓아라.
로그인, 가입, 비밀번호 재설정, 세션, 이메일 인증이 있는
전체 인증 시스템을 만들어줘.
인증 흐름의 1단계: 가입 엔드포인트만 작성해줘.
{ email, password } 를 받는 POST /signup. bcrypt 로 비밀번호를
해시하고, 사용자를 저장하고, user id 와 함께 201 을 반환해.
User 모델과 db 클라이언트는 이미 있다고 가정해 (형태는 내가
보여줄게). 로그인은 다음에 처리하자.
더 작은 프롬프트는 더 작은 diff를 뜻하고, 더 작은 diff는 무엇이 바뀌었는지 실제로 읽을 수 있음을 뜻한다. 그것이 게임의 전부다. 두 번째 이득도 있다: 무언가 깨졌을 때, 작은 단계는 이분 탐색으로 잡아내기가 사소하다. 가입 엔드포인트를 생성하고 검증한 다음, 세션 로직, 그다음 비밀번호 재설정을 했다면, 3단계 이후에 나타난 버그는 거의 확실히 3단계에 산다. 빅뱅 생성은 그 신호를 버린다 — 버그가 당신이 한 번도 읽지 않은 400줄 어디에든 있을 수 있다.