본문으로 건너뛰기
개발 생산성 도구 기초집LESSON 05

Formatter: 코드 스타일을 자동으로 맞추는 이유

난이도초급
예상 시간45분
선수지식3강 Workspace, 사용하는 언어 환경

5강. Formatter: 코드 스타일을 자동으로 맞추는 이유

1. 이번 강의에서 해결할 문제​

들여쓰기와 따옴표를 리뷰마다 손으로 고치거나 서로 다른 Formatter 버전이 파일 전체를 번갈아 바꿉니다. 프로젝트가 선택한 하나의 명령을 기준으로 삼습니다.

2. 학습 목표​

3. 핵심 개념​

Formatter는 공백, 줄바꿈, 들여쓰기처럼 동작을 바꾸지 않아야 하는 표현을 일관되게 만듭니다. 로직 버그를 보장하지 않습니다. 웹의 Prettier, Python의 Black, Java의 Spotless·google-java-format 등 선택지는 다르며 프로젝트에 이미 선언된 도구를 우선합니다.

가장 작은 사례는 const score={value:10}을 const score = {value: 10};처럼 같은 스타일로 바꾸는 것입니다. 두 코드는 같은 값을 만들지만 팀원이 손으로 공백을 고치지 않아도 됩니다. 반대로 value: 10을 value: 100으로 바꾸는 일은 로직 변경이므로 Formatter 책임이 아닙니다.

단계파일 변경확인 목적
설정·버전 탐색없음프로젝트가 선택한 도구 확인
check 실행없음스타일 불일치 존재 여부 확인
write 실행있음합의된 스타일 적용
diff·테스트없음 또는 테스트 산출물범위와 동작 유지 검증

Prettier 공식 문서도 전역 도구보다 프로젝트 로컬의 고정 버전과 --check를 권장합니다. 설치·옵션은 현재 공식 설치 문서를 확인하세요.

4. 단계별 실습​

실행 전 상태: 프로젝트 루트에서 git status --short를 기록하고 package·가상환경·Gradle Wrapper 중 실제 존재하는 것만 확인합니다. 새 Formatter 설치나 전역 버전 실행은 하지 않습니다.

PowerShell · 실행 위치: 프로젝트 루트

# Web: package.json에 format script가 있을 때만 실행
if (Test-Path .\package.json) {
$package = Get-Content .\package.json -Raw | ConvertFrom-Json
$package.scripts | Format-List
if ($package.scripts.'format:check') { npm.cmd run format:check }
}

# Python: 프로젝트 환경에 Black이 이미 있을 때만 확인
if (Test-Path .\.venv\Scripts\python.exe) {
& .\.venv\Scripts\python.exe -m pip show black
}

# Java: Wrapper의 사용 가능한 task에서 format 관련 이름 확인
if (Test-Path .\gradlew.bat) {
.\gradlew.bat tasks --all | Select-String -Pattern 'format|spotless'
}

예상 결과: 선언된 script나 Task만 표시되고 check가 있다면 성공 또는 대상 파일 목록과 비정상 종료 코드를 돌려줍니다. 도구가 없으면 설치하지 않고 미선택으로 기록합니다.

자동 수정 전후:

git status --short
# 프로젝트 README에 적힌 format 명령을 실행
git diff --check
git diff

Git 상세 사용법은 Git · GitHub 기초집을 참고합니다.

5. 도구와 설정이 동작하는 이유​

check 모드는 파일을 바꾸지 않고 스타일 불일치를 종료 코드로 알려 자동 점검에 적합합니다. write 모드는 실제 파일을 변경하므로 작업 범위와 diff를 확인해야 의도하지 않은 대량 변경을 막을 수 있습니다.

변경 전후에는 git diff --stat로 범위, git diff --check로 공백 오류, git diff로 실제 내용을 봅니다. Formatter가 수백 파일을 바꿨다면 바로 커밋하지 말고 실행 위치·대상 패턴·설정 파일을 다시 확인합니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

10. 다음 강의 연결​

표현 스타일을 자동화했습니다. 다음 강의에서는 Formatter가 찾지 않는 오류 가능성과 규칙 위반을 정적 분석으로 확인합니다.

MINI QUIZ

Formatter: 코드 스타일을 자동으로 맞추는 이유 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Formatter: 코드 스타일을 자동으로 맞추는 이유” 실습 결과를 해석하는 올바른 기준은 무엇인가요?
  2. 문제 2‘전역 최신 버전 사용’ 실수를 판단할 때 “Formatter: 코드 스타일을 자동으로 맞추는 이유” 강의가 제시한 기준은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

5강. Formatter: 코드 스타일을 자동으로 맞추는 이유 미완료 상태