피드로 돌아가기
Dev.toBackend
원문 읽기
Route 중심 설계의 Technical Debt 해결을 통한 유지보수성 확보
Le projet qui fonctionnait… mais que je détestais modifier
AI 요약
Context
Node.js Express 기반 API에서 Router에 Business Logic, Database Query, Error Handling이 혼재된 Fat Route 구조 사용. 기능적 정상 작동에도 불구하고 코드 간 강한 결합으로 인해 변경 시 사이드 이펙트를 예측하기 어려운 구조적 한계 노출.
Technical Solution
- Responsibility 분리를 통한 Layered Architecture 도입
- Router Layer: HTTP Request 수신 및 Response 반환으로 역할 제한
- Controller Layer: Request 데이터 파싱 및 Service 호출을 통한 흐름 제어
- Service Layer: 순수 Business Logic 및 Database Access 처리로 도메인 중심 설계 구현
- 데이터 접근 로직을 Service로 격리하여 Route 변경 시 Business Logic 영향도 최소화
- 코드 가독성 향상을 통한 인지 부하(Cognitive Load) 감소 및 심리적 안정성 확보
실천 포인트
1. Router 내에 비즈니스 로직이 5라인 이상 포함되었는지 검토
2. Service Layer를 통해 HTTP 프로토콜과 비즈니스 로직의 의존성 분리 여부 확인
3. 특정 기능 수정 시 영향 범위 파악을 위해 15개 이상의 파일을 탐색하는지 점검
4. 단순 기능 구현을 넘어 2주 후의 유지보수 관점에서 코드 구조 설계