데브허브 | DEVHUB | [BE] Nest.js - 6강: Nest.js 파일 네이밍 컨벤션 (File Naming Convention)[BE] Nest.js - 6강: Nest.js 파일 네이밍 컨벤션 (File Naming Convention)
- Nest.js 파일명은 모두 소문자를 사용하며, 단어 조합 시 하이픈(-)으로 구분하는 케밥 케이스를 따릅니다. 🔡
- TypeScript 기반이므로 모든 파일에
.ts 확장자를 명시해야 합니다. 📜
- 파일의 역할에 따라
.controller.ts, .service.ts, .module.ts와 같은 명확한 접미사를 사용합니다. 🏷️
- 주요 파일 역할별 접미사: 모듈(
module.ts), 컨트롤러(controller.ts), 서비스(service.ts)가 기본입니다. 📦
- 데이터베이스 테이블 매핑 클래스는
entity.ts 접미사를 사용합니다. 📊
- 타입 정의는
interface.ts 또는 type.ts 파일을 활용합니다. 🧩
- 입출력 데이터 구조는
dto.ts (Data Transfer Object) 파일을 통해 관리합니다. 📤
- 데이터 변환/검증은
pipe.ts, 인증/인가는 guard.ts로 처리합니다. 💧
- 요청/응답 가로채기는
interceptor.ts, 예외 처리 로직은 filter.ts로 구현합니다. 🎣
- 단위 테스트 코드는
spec.ts 파일로 관리되나, 일반적인 개발에서는 활용도가 낮습니다. 🧪
- 일관된 파일 네이밍 규칙은 협업 및 유지보수성 향상에 필수적입니다. ✨
- 각 모듈 폴더 내에 서비스, 컨트롤러, 모듈이 세트로 구성되며, DTO나 엔티티는 별도 폴더로 관리될 수 있습니다. 📁