Files
sori.studio/docs/convention.md

54 lines
1.2 KiB
Markdown

# 코딩 컨벤션
## 언어
- JavaScript (TypeScript 미사용)
- JSDoc으로 타입 명시
- Zod로 스키마 검증
## 문법
- 세미콜론 미사용
- const/let 사용 (var 미사용)
- 화살표 함수 우선
## 네이밍
- Vue 컴포넌트: PascalCase (SiteHeader.vue)
- 일반 파일/폴더: kebab-case
- Vue 컴포넌트 파일: PascalCase
- CSS 클래스: kebab-case
- 고유 클래스명 필수 (Tailwind 외)
- Nuxt 컴포넌트 자동 import는 경로 prefix 없이 파일명 기준으로 사용
## 스타일
- TailwindCSS 기본 사용
- 주요 요소: Tailwind + 고유 className 동시 적용
```html
<main class="site-main w-[720px]">
```
## 주석
- JSDoc 형식
- 한국어 작성
```javascript
/**
* 게시물 목록 조회
* @param {Object} options - 조회 옵션
* @param {number} options.page - 페이지 번호
* @param {number} options.limit - 페이지당 개수
* @returns {Promise<Post[]>} 게시물 목록
*/
```
## 설정
- 경로/URL/키값: .env로 관리
- 하드코딩 금지
- 로컬 개발 설정과 NAS 운영 설정은 별도 환경 파일로 분리
- 운영 DB 접속 정보는 개발용 `.env`에 기록하지 않음