대규모 레포, 레거시 코드, 테스트 자동화 — 혼자서는 시간이 걸리는 작업들을
AI와 함께 빠르게 처리하는 실전 워크플로우를 배웁니다.
이 모듈에서 배울 것
신규 입사, 오픈소스 기여, 인수한 프로젝트 — 처음 보는 대형 레포를 빠르게 이해해야 할 때 AI를 어떻게 활용하는지 배웁니다. 아키텍처 파악 → 핵심 플로우 추적 → 작업 영역 확정 3단계 탐색 프로세스를 실전 예시와 함께 다룹니다.
핵심 포인트 — AI에게 "이 레포에서 [사용자 로그인] 기능이 어떻게 흐르는지 파일 경로와 함께 추적해줘"라고 하면 기능 단위 탐색이 가능합니다. git blame보다 빠릅니다.
vibelab 폴더에서 claude 실행 후 붙여넣으세요
이 레포를 처음 접하는 개발자로서 파악해줘. 1. 전체 아키텍처를 레이어 구조로 설명해줘 2. [특정 기능]이 어떤 파일들을 거쳐서 실행되는지 흐름을 추적해줘 3. 이 코드베이스에서 가장 복잡하거나 취약해 보이는 부분은? 4. 내가 [기능 추가 / 버그 수정]을 하려면 어디서 시작해야 해?
레거시 코드는 이유가 있어서 그렇게 작성된 경우가 많습니다. 무턱대고 바꾸지 않고, AI와 함께 위험 없이 리팩토링하는 방법을 배웁니다. 변경 영향 범위 파악 → 테스트 먼저 → 단계적 개선 패턴을 다룹니다.
핵심 포인트 — 리팩토링 전에 AI에게 "이 함수를 바꾸면 영향을 받는 곳이 어디야?"를 먼저 물으세요. 영향 범위를 모르고 시작하는 리팩토링은 예상치 못한 곳을 부숩니다.
vibelab 폴더에서 claude 실행 후 붙여넣으세요
아래 코드를 리팩토링하고 싶어. [리팩토링 대상 코드] 리팩토링 전에 먼저: 1. 이 코드가 현재 하는 일을 한 문단으로 설명해줘 2. 변경 시 영향 받는 곳(호출하는 쪽, 의존하는 쪽)을 나열해줘 3. 리팩토링 방향 제안 (기능 변경 없이 구조만) 4. 안전하게 단계적으로 바꾸는 순서를 알려줘
테스트를 직접 쓰는 시간이 아깝다면, AI에게 맡기세요. 기존 함수를 넘기면 단위 테스트, 엣지 케이스, 모킹 코드까지 생성합니다. AI가 생성한 테스트가 실제로 의미 있는지 검토하는 방법도 함께 다룹니다.
핵심 포인트 — 테스트 생성 후 "이 테스트에서 놓친 엣지 케이스가 있어?"라고 반드시 재확인하세요. AI도 일반적인 경로만 테스트하는 경향이 있습니다.
vibelab 폴더에서 claude 실행 후 붙여넣으세요
아래 함수에 대한 테스트를 작성해줘. [함수 코드] 테스트 프레임워크: [Jest / Vitest / pytest 등] 포함할 것: - 정상 케이스 (happy path) - 경계값 테스트 - 예외/에러 케이스 - 외부 의존성은 mock 처리 작성 후 "놓친 엣지 케이스가 있어?" 라고 자체 검토도 해줘.
PR을 올리기 전에 AI에게 먼저 리뷰받으세요. 버그 가능성, 성능 이슈, 보안 취약점, 컨벤션 위반까지 다각도로 검토합니다. 팀 코드 리뷰에서 지적받기 전에 미리 잡는 습관을 만듭니다.
핵심 포인트 — 단순히 "리뷰해줘"보다 "보안 관점에서만 리뷰해줘"처럼 관점을 지정하면 훨씬 날카로운 피드백이 나옵니다. 관점을 바꾸면서 여러 번 돌려보세요.
vibelab 폴더에서 claude 실행 후 붙여넣으세요
아래 코드를 시니어 개발자 관점에서 리뷰해줘. [코드 붙여넣기] 리뷰 관점 (순서대로): 1. 버그 가능성 & 엣지 케이스 2. 성능 이슈 3. 보안 취약점 (특히 입력 검증, 인증) 4. 가독성 & 유지보수성 5. 테스트 커버리지 갭 심각도 (Critical / Warning / Suggestion)로 분류해줘.
문서는 항상 마지막 우선순위가 됩니다. AI를 사용하면 JSDoc/docstring 생성, README 업데이트, API 문서 초안 작성을 코딩과 동시에 처리할 수 있습니다. 코드가 바뀔 때마다 문서도 함께 업데이트하는 습관을 만드는 방법을 다룹니다.
핵심 포인트 — 함수 작성 직후 "방금 만든 함수에 JSDoc 달아줘, 파라미터 타입과 예시 포함"이라고 하면 문서화를 나중으로 미루지 않을 수 있습니다. 습관이 시스템을 이깁니다.
vibelab 폴더에서 claude 실행 후 붙여넣으세요
아래 코드에 문서화를 추가해줘. [코드 붙여넣기] 포함할 것: - 각 함수/메서드에 JSDoc (또는 docstring) - @param, @returns, @throws 태그 - 각 파라미터에 타입과 설명, 사용 예시 - 복잡한 로직에는 인라인 주석 스타일: [TypeDoc / JSDoc / Google style 등]