21
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
Kotlin으로의 Java 레거시 시스템 전환
이 게시물은 배민페이플랫폼팀이 2025년 상반기에 Java 기반 포인트 시스템을 Kotlin으로 전환한 프로젝트 경험을 공유합니다.전환 배경과 목적
- 레거시 코드의 복잡성과 유지보수 어려움 해소
- 팀내 개발 언어 통일로 협업 효율 증대
- Kotlin의 간결한 문법과 안정성 활용
주요 전환 전략
- 테스트 코드부터 Kotlin으로 전환하여 안정성 확보
- Kotest와 MockK 도입으로 테스트 일관성 및 품질 강화
- 기능 단위 점진적 배포로 장애 위험 최소화
기술적 과제 및 해결책
- Null 처리 및 타입 안정성 확보를 위한 수작업 보완
- Lombok 제거 후 Kotlin data class 활용
- Java Stream API와 Optional을 Kotlin 스타일로 변환
- DTO 매핑을 위해 QueryDSL Projections.constructor() 사용
- Jackson Kotlin 모듈 추가로 역직렬화 문제 해결
- Spring 트랜잭션과 Kotlin 예외 처리 차이 인지
성과 및 결과
- Code smells 330건에서 4건으로 98.8% 감소
- 테스트 커버리지 61.5%에서 76.7%로 15.2% 증가
- 82개 작업 티켓, 10번 배포, 장애 없이 안정적 운영 달성