VIBECODING 365 / DICTIONARY
포매터
Formatter
DEFINITION
포매터(formatter)는 코드의 겉모양(들여쓰기, 줄바꿈, 따옴표, 세미콜론, 공백 등)을 일정한 규칙으로 다시 찍는 도구다. 기능을 바꾸지 않고, 파서가 만든 AST(추상 구문 트리)를 기준으로 스타일만 통일한다. JS/TS 바이브 코딩에서 사실상 표준 예시인 Prettier는 스스로를 “opinionated code formatter”라고 부르며, 원본 스타일을 걷어낸 뒤 줄 길이를 고려해 코드를 처음부터 다시 출력한다고 설명한다.
무엇을 하고 무엇을 안 하는가
Prettier 문서의 정의에 따르면, 포매팅은 AST에 영향을 주지 않는 코드 스타일이다. 즉 동작·의미는 그대로 두고 가독성·일관성만 맞춘다. 긴 인자 목록이 한 줄에 안 들어가면 줄바꿈을 자동으로 재배치하는 식이다. 린터(ESLint 등)가 잡는 버그 패턴·복잡도·미사용 변수와는 역할이 다르다. Prettier Rationale도 “Prettier only prints code. It does not transform it.”로 범위를 인쇄에 한정한다.
왜 ‘의견이 강한’ 포매터인가
Option Philosophy는 Prettier를 “원하는 어떤 모양이든 찍어 주는 kitchen-sink”가 아니라고 못 박는다. 채택의 가장 큰 이유는 스타일 논쟁을 끝내는 것이고, 옵션이 늘어날수록 논쟁은 “어느 옵션 값이 맞나”로 옮겨갈 뿐이다. 그래서 포매팅 관련 옵션 요청은 받지 않고 옵션 집합을 사실상 동결했다고 밝힌다. 입력의 줄바꿈을 그대로 보존해 달라는 요구도 “옵션을 가장한 것”으로 취급한다. 호환·역사적 이유로 남은 옵션(예: trailing comma, end-of-line, prose-wrap)은 예외적으로 존재한다.
워크플로에 넣는 법
에디터 저장 시 포맷, CI에서 prettier --check로 “이미 포맷됐는지” 검사, 로컬에서 --write로 고치기가 흔한 패턴이다. AI가 파일마다 다른 들여쓰기·따옴표를 내놓아도 포매터를 품질 게이트에 두면 리뷰어는 로직·설계에 집중할 수 있다. 포매터는 “예쁜 코드”를 취향으로 고르는 도구가 아니라, 팀이 같은 모양을 강제해 토론 비용을 줄이는 기계다.
ENGLISH
Formatter
EXAMPLE
npx prettier --write . # 포맷 적용 / npx prettier --check . # CI 검사
REFERENCE
prettier.io/docs/관련