32
자바에서 코틀린으로
1.3
코틀린으로 리팩터링하기
코틀린 여행을 시작할 때, 비즈니스에 필수적인 시스템을 유지 보수하면서 개선해야 했다. 우
리는
단지
자바 코드 기반을 코틀린으로 변환하는 작업에만 초점을 맞출 수가 없었다. 항상 코
드를 코틀린으로 마이그레이션하면서 동시에 시스템이 비즈니스의 필요를 만족시키도록 변경
해야 했으며, 그 과정에서 코틀린과 자바를 혼용하는 코드 기반을 유지해야 했다. 변화를 작게
수행해서 각 변화를 이해하기 쉽고 무언가 잘못됐을 때 원상복구하기 쉽도록 변경한 내용을 버
릴 수 있게 함으로써 위험에 대처할 수 있었다. 작업 과정은 처음에 자바 코드를 코틀린으로 변
환해서, 자바스러운 설계를 코틀린 구문으로 구현한 버전을 만드는 것부터 시작한다. 그 후 점
진적으로 코틀린 언어의 기능을 적용해 점점 더 이해하기 쉽고, 더 타입 안전하며, 더 간결하
고, 잘못되는 일이 없이 코드를 쉽게 변경할 수 있는 보다 합성하기 쉬운 구조의 코드를 만들어
나간다.
설계를 개선하면서 작고 안전하며, 되돌릴 수 있는 변경을 통해 우리는 전형적인 자바 코드를
전형적인 코틀린 코드로
리팩터링
했다.
두 언어
사이의
리팩터링은 보통 한 언어
내부의
리팩터링보다 어렵다. 이유는 리팩터링 도구가
언어의 경계에서 제대로 작동하지 않는 경우가 많기 때문이다. 로직을 한 언어에서 다른 언어
로 이식하는 일은 수동으로 이뤄져야만 하므로, 시간도 더 오래 걸리고 더 큰 위험을 수반한다.
(코드 일부분의 이식이 끝나서) 일단 여러 언어를 사용하기 시작하면 ...