사용자 정의 DI는 대체 불가성과 실행 경로를 통과해야 도입한다
기본 Data Interface와 User Parameter로 해결되는 일을 C++ 확장으로 만들면 유지보수 비용이 더 커진다.
| 게이트 | 검토 질문 | 통과 기준 | 막히면 |
|---|---|---|---|
| Need | 기본 DI나 User Parameter로 해결되지 않는가 | 대체 불가 이유가 문서화됨 | 기본 기능으로 단순화 |
| Class | C++이 소유할 데이터가 명확한가 | 데이터 경계가 작고 이름이 분명함 | 책임을 나누거나 DI 보류 |
| Functions | 그래프에 열 함수가 최소인가 | 입출력 타입과 이름이 고정됨 | API를 줄이고 기본값 정리 |
| Runtime | CPU/GPU 실행 경로가 모두 필요한가 | 지원 경로와 비용이 분리됨 | 한 경로만 지원한다고 명시 |
| Test | 빈 값과 비활성화 상태가 안전한가 | 프리뷰와 플레이 결과가 같음 | 실패값과 로그 기준 추가 |
도입 게이트를 통과하지 못하면 커스텀 DI보다 User Parameter나 기존 DI 조합이 더 좋은 선택이다.