Java Kotlin 전환, 성공적인 백엔드 리팩토링 사례

by DD
10개월 전
조회수 43

Java 기반 레거시 시스템을 Kotlin으로 전환하여 코드 품질 향상을 목표로 함

KotestMockK를 활용한 테스트 코드 전환 및 배포 전략 수립

Code Smell 98.8% 감소, 테스트 커버리지 15.2% 증가 등 긍정적 성과 달성

Kotlin 전환, 테스트 코드부터 시작

안정적인 전환을 위해 테스트 코드를 먼저 Kotlin으로 전환했다. 구체적으로 Kotest를 도입하여 테스트 스타일을 통일하고, MockK를 활용하여 테스트 코드의 가독성을 높였다. 따라서, 실제 서비스 코드 전환 시 안정성 확보에 기여했다.

Java to Kotlin, 기술적 난관 극복

Java 코드를 Kotlin으로 변환하며 Null 처리, Lombok 제거, Stream API 대체 등의 기술적 과제에 직면했다. 구체적으로, data class를 활용하여 Lombok 의존성을 제거하고, Kotlin 컬렉션 함수를 사용하여 코드 간결성을 확보했다. 결과적으로 코드 가독성유지보수성을 향상시켰다.

성공적인 전환을 위한 배포 전략

안정적인 배포를 위해 기능 단위 또는 패키지 단위로 점진적인 배포 전략을 채택했다. 구체적으로, 작은 단위로 배포하여 장애 가능성영향 범위를 최소화했다. 따라서, 코드 리뷰QA 부담을 줄이고, 서비스 안정성을 확보했다.

Java야…, 우리 그만 헤어져. Kotlin으로 환승연애