피드로 돌아가기
Dev.toBackend
원문 읽기
Clean Architecture 리팩토링을 통한 LLM 모델별 설계 역량 분석
I Tested Claude, GPT-4, and Gemini on the Same Refactoring Task
AI 요약
Context
결제 처리, 송장 생성, 웹훅 핸들링 및 재시도 로직이 혼재된 400라인 규모의 NestJS PaymentService God Service 구조. 도메인 로직과 인프라 의존성이 강하게 결합되어 유지보수성 및 테스트 가능성이 저하된 상태.
Technical Solution
- Domain/Application/Infrastructure 계층 분리를 통한 Clean Architecture 전환 설계
- Static Factory Method 기반의 Private Constructor를 적용한 Domain Entity 캡슐화 구현
- Immutable Value Object 설계를 통한 도메인 데이터 무결성 보장 및 유효성 검증 로직 내재화
- 인터페이스 기반의 Port 설계를 통한 외부 의존성(Stripe, Prisma) 격리 및 결합도 제거
- 단일 책임 원칙(SRP)에 따른 Use Case별 파일 분리 및 Constructor Injection 적용
- CLAUDE.md 명세서를 활용한 프로젝트 컨벤션 및 아키텍처 가이드라인의 LLM 컨텍스트 주입
실천 포인트
1. LLM 리팩토링 시 CLAUDE.md와 같은 프로젝트 컨벤션 정의 파일 제공 여부 확인
2. 단순 클래스 추출이 아닌 Domain Entity의 캡슐화 및 Value Object 도입 여부 검토
3. Use Case별 인터페이스 최소화 및 Port-Adapter 패턴의 엄격한 적용 여부 체크
4. AI 생성 코드의 Scope Creep 방지를 위한 명확한 범위 제한 프롬프트 구성