피드로 돌아가기
Dev.toFrontend
원문 읽기
Readable HTML Is Debuggable HTML: Why Formatting Matters
HTML 포매팅 규칙(들여쓰기, 속성 배치, 공백)을 적용해 단일 라인 500KB 미니파이된 코드를 가독성 있는 구조로 변환해 디버깅 시간 단축
AI 요약
Context
프로덕션 환경에서는 최소화된 HTML이 필요하지만, 우측 클릭 '소스 보기'에서 500KB가 한 줄로 나타나면 레이아웃 문제를 야기한 요소를 찾기가 사실상 불가능하다. 포매팅되지 않은 HTML은 개발, 코드 리뷰, 접근성 감시 등 모든 디버깅 활동에서 문서 구조를 파악할 수 없게 만든다.
Technical Solution
- 중첩 요소에 일관된 들여쓰기 적용: 각 자식 요소를 부모보다 한 단계 깊게 들여쓰기(2칸 또는 4칸 선택)
- 복잡한 요소는 속성 별 라인 분리: 여러 속성을 가진 요소(input, img 등)를 세로 방향으로 정렬해 각 속성을 별도 라인에 배치
- 인라인 요소는 같은 라인 유지: , , , 등 짧은 요소는 주변 텍스트와 같은 라인에 유지
- 논리적 섹션 간 빈 라인 삽입: 헤더, 메인 콘텐츠, 사이드바, 푸터 사이에 공백을 두어 의미론적 구조 반영
- 자동화 도구 통합: Prettier('npx prettier --write "**/*.html"'), VS Code 기본 포매터(Shift+Alt+F), ESLint 플러그인(eslint-plugin-html) 활용
Key Takeaway
HTML 포매팅은 미관이 아니라 문서 구조를 시각적으로 투명하게 만들어 추론 가능하게 하는 기술적 필수 조건이다. 코드 리뷰에서 diff의 변경사항을 명확히 하고, 접근성 감사에서 ARIA 속성과 제목 계층을 확인하며, 팀 간 인수인계 시 코드 이해도를 크게 높일 수 있다.
실천 포인트
웹 프로젝트에서 개발 단계(개발자가 직접 다루는 HTML)와 프로덕션 단계(배포용 최소화)를 명확히 분리하되, 개발 단계에서 'Prettier 또는 VS Code 자동 포매터'를 에디터 저장 시 자동 실행하도록 설정하면, 수작업 없이 코드 리뷰 시간을 단축하고 레이아웃 버그 발견 속도를 높일 수 있다.