- API 엔드포인트 정리 (api_endpoints.md) - 인프라 정보 정리 (infrastructure.md) - 환경변수 정리 (environment_variables.md) - 배포 파이프라인 정리 (deployment_pipelines.md) - 상수/설정값 정리 (constants.md) - 네이밍 컨벤션 정리 (naming_conventions.md) - 로깅 규칙 정리 (logging_rules.md) 목적: 개발 시 중복/오류 방지, 빠른 참조 모든 문서 100줄 이하 유지, 파일:줄번호 참조 사용
95 lines
2.1 KiB
Markdown
95 lines
2.1 KiB
Markdown
# 네이밍 컨벤션 참조
|
|
|
|
**작성일**: 2025-12-06
|
|
**목적**: 코드 일관성 유지, 가독성 향상
|
|
|
|
---
|
|
|
|
## 파일명
|
|
|
|
### Python
|
|
- **router**: `{기능}_endpoint.py` (예: `message_endpoint.py`)
|
|
- **service**: `{도메인}_{기능}.py` (예: `coldmail_filter.py`)
|
|
- **state**: `{도메인}_repository.py` (예: `conversation_repository.py`)
|
|
|
|
**참고**: `DOCS/book/300_architecture/311_FastAPI_구조_원칙.md:53-63`
|
|
|
|
### 디렉토리
|
|
- `router/`: HTTP 엔드포인트
|
|
- `services/`: 비즈니스 로직
|
|
- `state/`: DB 접근 (Repository 패턴)
|
|
- `models/`: ORM 모델
|
|
- `schemas/`: Pydantic 모델
|
|
|
|
**참고**: `DOCS/book/300_architecture/311_FastAPI_구조_원칙.md:27-51`
|
|
|
|
---
|
|
|
|
## 변수명
|
|
|
|
### Python
|
|
- **snake_case**: 변수, 함수, 모듈
|
|
- **PascalCase**: 클래스
|
|
- **UPPER_CASE**: 상수
|
|
|
|
**예시**:
|
|
```python
|
|
user_id = "uuid" # 변수
|
|
def get_user_info(): # 함수
|
|
pass
|
|
class UserService: # 클래스
|
|
pass
|
|
MAX_RETRIES = 3 # 상수
|
|
```
|
|
|
|
---
|
|
|
|
## API 엔드포인트
|
|
|
|
### 경로 규칙
|
|
- **kebab-case**: URL 경로 (예: `/api/intent-review/queue`)
|
|
- **RESTful**: 리소스 중심 (예: `/api/events/{event_id}`)
|
|
|
|
**참고**: `rb8001/app/router/intent_review_endpoint.py:33`
|
|
|
|
---
|
|
|
|
## 데이터베이스
|
|
|
|
### 테이블명
|
|
- **snake_case**: 소문자, 언더스코어 (예: `conversation_log`)
|
|
- **복수형**: 컬렉션 의미 (예: `users`, `conversations`)
|
|
|
|
### 컬럼명
|
|
- **snake_case**: 소문자, 언더스코어 (예: `user_id`, `created_at`)
|
|
- **UUID**: `id` 또는 `{entity}_id` (예: `user_id`)
|
|
|
|
**참고**: `DOCS/book/300_architecture/database/tables.md`
|
|
|
|
---
|
|
|
|
## 환경변수
|
|
|
|
### 명명 규칙
|
|
- **UPPER_SNAKE_CASE**: 대문자, 언더스코어
|
|
- **명확한 의미**: `DATABASE_URL`, `JWT_SECRET_KEY`
|
|
|
|
**참고**: `DOCS/book/300_architecture/reference/environment_variables.md`
|
|
|
|
---
|
|
|
|
## 서비스명
|
|
|
|
### 컨테이너명
|
|
- **kebab-case**: 소문자, 하이픈 (예: `skill-slack`, `robeing-monitor`)
|
|
|
|
### 서비스 ID
|
|
- **소문자**: `rb8001`, `skill-email`
|
|
|
|
**참고**: `AGENTS.md:78-81`
|
|
|
|
---
|
|
|
|
**업데이트**: 컨벤션 변경 시 즉시 반영
|
|
|