Files
union-arena-deck-builder/docs/convention.md

2.7 KiB

코딩 컨벤션

기본 원칙

  • 모든 문서와 커뮤니케이션은 한국어 기준으로 유지한다.
  • 코드 주석은 필요 시 JSDoc 형식을 우선한다.
  • 기존 정적 사이트 구조를 존중하고, 대규모 구조 변경 시에는 먼저 docs/history.md에 의사결정을 기록한다.

파일 및 폴더 규칙

  • 시리즈 데이터 파일은 datas/uaXX.js, datas/uapr.js처럼 시리즈 키와 일치하게 관리한다.
  • 이미지 폴더는 images/<seriesKey>/ 규칙을 유지한다.
  • 새 문서는 docs/ 하위에서 목적별 단일 파일에 누적 관리한다.

JavaScript 규칙

  • 기존 코드 스타일에 맞춰 기본 들여쓰기는 4칸을 사용한다.
  • 상수는 const, 재할당 변수는 let을 사용한다.
  • DOM 참조가 반복될 경우 getEl()처럼 묶어서 관리하는 패턴을 우선 고려한다.
  • URL 파라미터, localStorage, 동적 import는 예외 처리와 함께 사용한다.
  • 카드 데이터 객체의 필드명은 기존 호환성을 위해 현재 형태(imgSrc, Number, count, key)를 유지한다.

HTML 규칙

  • 정적 페이지는 의미 단위별로 header, main, aside 등을 우선 사용한다.
  • 페이지별 스크립트가 길어질 경우 신규 기능은 별도 JS 파일 분리 여부를 먼저 검토한다.
  • 인라인 이벤트(onclick)는 기존 파일에 이미 존재하므로 즉시 제거 대상은 아니지만, 신규 대형 기능은 addEventListener 방식 우선 검토한다.

CSS 규칙

  • 공통 UI는 가능한 한 Tailwind 유틸리티 클래스를 우선 사용한다.
  • 페이지 특화 보정 스타일만 인라인 <style> 또는 전용 CSS 파일에 둔다.
  • 캡처 안정성처럼 이유가 분명한 예외 스타일은 주석으로 목적을 남긴다.

데이터 관리 규칙

  • 카드 데이터 추가 시 최소 필드는 imgSrc, Number, count, key, color, parallel, rarity, trigger를 맞춘다.
  • 동일 카드의 패러렐 판본은 동일 Number를 유지하고 parallel 값으로 구분한다.
  • 파일명 변경 시 datas/*.jsimages/<seriesKey>/가 함께 일치하는지 확인한다.

Git 규칙

  • 커밋 메시지는 한국어로 작성한다.
  • 버전 상승 작업은 docs/update.md 반영 후 태그명과 맞춘다.
  • 민감 정보, 로컬 경로, 개인 식별 정보가 커밋되지 않도록 확인한다.

이미지 자산 규칙

  • images/**Git LFS로 관리한다.
  • 이미지 파일을 새로 추가하거나 교체할 때는 일반 Git 객체로 들어가지 않도록 .gitattributes 설정을 유지한다.
  • 대량 이미지 추가 전에는 원격 저장소의 LFS 정책과 비용 한도를 확인한다.