DOCS/book/300_architecture/guidelines/naming_conventions.md
Claude-51124 f197919684 docs: reference/ → guidelines/로 디렉토리명 변경
- 로빙을 만드는 데 지키고 싶은 개발 가이드라인이라는 의미 명확화
- '원칙'보다 더 구체적이고 실용적인 이름
2025-12-06 17:26:31 +09:00

2.0 KiB

네이밍 컨벤션 원칙

작성일: 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: 상수

예시:

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

참고: 각 서비스 README.md


서비스명

컨테이너명

  • kebab-case: 소문자, 하이픈 (예: skill-slack, robeing-monitor)

서비스 ID

  • 소문자: rb8001, skill-email

참고: AGENTS.md:78-81


업데이트: 컨벤션 변경 시 즉시 반영