TDD
: test 주도 개발로 red, green, refactor 과정을 통하며 만들어감.
결국 실패하는 코드를 실패하지 않도록 한 후 리팩토링(적용)을 하고 그 결과물이 에러가 없어야함
PRD(제품요구사항문서)
: 개발할 제품(product)에 대한 요구사항 및 상세 명세를 정리한 문서
목표 - 만드는 이유와 그걸 통해 하고자 하는것
사용자- 제품을 사용하는 타겟
기능 - 구현할 기능, 무엇을 하게 되는지, 기능에 대한 TO DO 생성
요구사항 : 제품을 통해 사용자를 만족시킬 조건
성공지표 : 요구사항의 만족에 대한 측정
서비스 목표를 세우고, 구현해야할 기능 상세 명세를 작성 후, 기능에 대한 TODO list를 생성하고, TODO를 순차적으로 수행해 나가는 우선순위를 정의하며, 참고할 수 있는 레퍼런스 코드를 지정한다
prd 작성 ai : https://www.vooster.ai/ko
아키텍처 설계
: md 파일을 쓴다면 mermaid diagram 활용
ai 와 논의하여 초기 구성 진행
패키지 관리
라이브러리/모듈 설치 및 버전 관리 예: npm, pip, gradle, maven 등을 통해 필요한 외부 패키지를 설치하고 버전을 고정
환경 통일 협업자들이 동일한 개발 환경에서 작업할 수 있도록 설정 파일 (package.json, requirements.txt, build.gradle 등)을 공유
의존성 충돌 방지 여러 사람이 다른 버전의 라이브러리를 쓰면 오류가 생기기 쉬운데, 이를 방지하기 위해 패키지 버전을 명확히 지정
Lint/Formatter 설정 코드 스타일을 통일해서 협업 중 충돌을 줄임 (예: ESLint, Prettier)
Git Hook 설정 커밋 전에 자동으로 코드 검사나 테스트를 실행 (예: Husky)
CI/CD 연동 코드가 병합되면 자동으로 테스트/배포가 되도록 설정
환경 변수 관리 (.env) API 키나 DB 접속 정보 등 민감한 정보는 공유하되 보안은 유지
잘구성된 예제
: 모방에 강한 LLM특성을 이용하여, 잘 구성된 프롲게트를 참고로 넣어주면 아키 구성을 잘 따라함