
프론트엔드
100년 가는 프론트엔드 코드, SDK
두줄요약
결제 SDK의 연동 복잡성과 운영 문제를 해결하기 위해 V2 SDK를 다시 설계했습니다. 계층 분리와 계약 중심 구조로 안정성, 확장성, 명확성을 강화했습니다.
문제 상황
- 결제 연동 과정의 UI 구현, 인증 흐름, 비동기 처리, 예외 처리 등 복잡한 작업 부담
- 로그 추가로 인한 네트워크 의존성 증가와 결제 페이지 성능 저하
- 잘못된 키 타입 전달로 발생하는 런타임 오류와 가맹점별 예측 불가능한 장애
원인 분석
- SDK가 가맹점 코드 속에 깊게 박혀 동일한 수명과 런타임 환경을 공유하는 구조
- 가맹점별 요구사항과 기술 의존성이 한 코드 경로에 섞인 복잡한 if문 구조
- 문서, 계약, 구현, 검증이 분리되지 않아 히스토리와 명세 추적이 어려운 상태
해결 방법
- 안정성, 확장성, 명확성을 핵심 가치로 삼아 V2 SDK 재설계
- Public Interface, Domain, External Service로 계층을 나누고 인터페이스 기반 의존성 역전 적용
- 계약을 별도 패키지로 분리해 Git 히스토리, 자동 문서 생성, 런타임 검증 체계 구축