# architecture-guide > 코드 작성 시 프로젝트 아키텍처 가이드 자동 적용 - Author: noeul kim - Repository: kne6379/claude-code-template - Version: 20251220120403 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/kne6379/claude-code-template - Web: https://mule.run/skillshub/@@kne6379/claude-code-template~architecture-guide:20251220120403 --- --- name: architecture-guide description: 코드 작성 시 프로젝트 아키텍처 가이드 자동 적용 globs: - "src/**/*" - "app/**/*" - "lib/**/*" --- # 프로젝트 아키텍처 가이드 이 가이드는 프로젝트의 코드 품질과 일관성을 유지하기 위한 범용 원칙입니다. ## 코드 구조 원칙 ### 1. 단일 책임 원칙 (SRP) - 파일/모듈당 하나의 주요 책임 - 함수는 하나의 작업만 수행 - 클래스는 하나의 변경 이유만 가짐 ### 2. 계층 분리 ``` [Presentation Layer] → [Business Logic] → [Data Access] → [External Services] ``` - 각 계층은 자신보다 하위 계층만 의존 - 순환 의존성 금지 ### 3. 의존성 주입 - 하드코딩된 의존성 대신 주입 사용 - 테스트 용이성 확보 ## 네이밍 컨벤션 ### 일반 규칙 - 변수/함수: `camelCase` - 클래스/타입: `PascalCase` - 상수: `SCREAMING_SNAKE_CASE` - 파일명: 언어/프레임워크 컨벤션 준수 ### 의미 있는 이름 - 동사로 시작하는 함수명 (예: `getUserById`, `calculateTotal`) - 명사로 된 변수명 (예: `userList`, `totalAmount`) - Boolean은 is/has/can 접두사 (예: `isActive`, `hasPermission`) ## 에러 처리 ### 원칙 - 에러는 적절한 계층에서 처리 - 복구 가능한 에러와 치명적 에러 구분 - 의미 있는 에러 메시지 제공 ### 패턴 - 비즈니스 로직에서 예외 정의 - 프레젠테이션 계층에서 사용자 친화적 메시지 변환 - 로깅은 적절한 레벨로 수행 ## 코드 품질 ### DRY (Don't Repeat Yourself) - 중복 코드는 함수/모듈로 추출 - 단, 과도한 추상화 지양 ### KISS (Keep It Simple, Stupid) - 불필요한 복잡성 제거 - 명확하고 읽기 쉬운 코드 우선 ### YAGNI (You Aren't Gonna Need It) - 현재 필요한 기능만 구현 - 미래의 가상 요구사항 배제