린트
코드를 실행하기 전에 문법 오류, 스타일 불일치, 위험한 패턴을 자동으로 찾아 주는 정적 검사 과정이다. 린트는 테스트처럼 기능 결과를 검증하지는 않지만, AI가 만든 코드에서 사용하지 않는 변수, 잘못된 import, 접근성 누락, 위험한 any 타입 같은 문제를 빠르게 잡아낸다. 바이브 코딩에서는 AI에게 기능을 맡긴 뒤 린트를 통과시키는 것을 첫 품질 게이트로 두면, 사람이 모든 줄을 읽기 전에 기본 위생 문제를 제거할 수 있다.
영어 표기
Lint
예시
Next.js 기능을 AI가 만든 뒤 npm run lint를 실행해 사용하지 않는 import와 이미지 alt 누락을 확인한다. 실패하면 에러 메시지를 AI에게 그대로 전달하기보다, 어떤 규칙이 왜 필요한지 설명하게 하고 최소 수정만 적용한다.
참고
린트는 버그를 모두 잡는 도구가 아니라 코드 품질의 기본 위생을 자동 확인하는 첫 단계다.
- 카테고리
- 테스트·디버깅
- 난이도
- basic
- 태그
- 린트 · 정적분석
- 슬러그
- lint
- 상태
- published
- 정렬 순서
- 160
함께 읽기
연관 용어
하네스 엔지니어링
품질 게이트
영어 표기 Quality Gate
AI 에이전트의 작업 결과가 다음 단계로 넘어가기 전에 반드시 통과해야 하는 자동화된 검증 지점이다. 공항의 보안 게이트가 탑승 전 필수 검사를 수행하듯, 품질 게이트는 코드가 프로덕션으로 가기 전에 필수 검증을 수행한다. 에이전틱 엔지니어링에서 품질 게이트는 AI가 생성한 코드의 품질을 인간의 직접 검토 없이도 자동으로 보장하는 핵심 메커니즘이다. 일반적인 품질 게이트 체인: Agent 코드 생성 → [린트 통과?] → [타입 체크 통과?] → [단위 테스트 통과?] → [통합 테스트 통과?] → [보안 스캔 통과?] → [코드 커버리지 기준 충족?] → 인간 리뷰. 각 대괄호가 하나의 Quality Gate이며, 어느 하나라도 실패하면 AI 에이전트에게 피드백이 돌아가 수정을 시도한다. Stripe의 Minions 시스템에서는 CI(지속적 통합) 파이프라인 통과가 필수 품질 게이트로, AI가 작성한 코드가 모든 테스트를 통과해야만 PR이 생성된다. 품질 게이트가 촘촘할수록 AI Slop이 프로덕션에 도달할 확률이 낮아지지만, 너무 과도하면 하네스 부채(Harness Debt)가 발생할 수 있다.
코드 품질·리뷰
정적 분석
영어 표기 Static Analysis
정적 분석은 코드를 실행하지 않고 파일 자체를 읽어 버그 가능성, 타입 오류, 보안 냄새, 사용하지 않는 변수, 위험한 패턴을 찾아내는 품질 점검 방식이다. 초보자는 '앱을 켜 보기 전에 코드 문법과 구조를 먼저 검사하는 자동 리뷰어'로 이해하면 쉽다. 바이브 코딩에서는 AI가 그럴듯하지만 경계 조건이 약한 코드를 빠르게 만들 수 있으므로, 정적 분석을 먼저 돌려 사람 리뷰 전에 명백한 문제를 줄이는 것이 중요하다.
테스트·디버깅
단위 테스트
영어 표기 Unit Test
개별 함수, 메서드, 모듈이 예상대로 올바르게 동작하는지 검증하는 가장 작은 범위의 자동화된 테스트이다. '단위(unit)'는 테스트할 수 있는 가장 작은 코드 조각을 의미하며, 외부 의존성(데이터베이스, 네트워크, 파일 시스템)을 모킹(mocking)하여 해당 함수 자체의 로직만 순수하게 검증한다. 바이브 코딩에서 단위 테스트는 AI가 생성한 코드의 정확성을 보장하는 첫 번째 방어선이다. AI에게 'calculateTax 함수의 단위 테스트를 작성해줘'라고 하면 Jest, Vitest 등의 프레임워크로 다양한 입력 값과 경계 조건에 대한 테스트 코드를 생성한다. 그러나 AI가 생성한 테스트에는 주의가 필요하다: AI는 종종 정상 경로(happy path)만 테스트하고, 에지 케이스(경계 값, null, 빈 문자열, 음수 등), 에러 상황, 동시성 문제 등을 간과하는 경향이 있다. 따라서 AI가 생성한 테스트를 검토하고 에지 케이스를 추가하는 것이 인간의 중요한 역할이다. 에이전틱 엔지니어링에서는 Test Generator 에이전트가 자동으로 테스트를 생성하고, 품질 게이트에서 테스트 통과를 필수로 요구한다.