본문
[2019.02.03] 121. Android 음악 플레이어 프로젝트 [Java -> Kotlin]
도입
이번 포스팅에서는 현재 Java로 구현된 코드를 Kotlin으로 변경할 예정이다.
실습
Step1. Java -> Kotlin
진행하면 오류가 발생하는 경우도 있고 !!(non-null assertion)이 들어간 케이스도 발생
맥 단축키(Shift + command + a)를 통해 Kotlin 코드로 변경 가능
Step2. Kotlin 스타일화, !!(non-null assertion) 제거 등
느낀점
1. 정말 테스트 코드가 필요하다는 것을 뼈저리게 느꼈다.
분명히 내가 작성한 코드이다. 하지만 1년만에 보니 모든 기능들이 생각나지 않는다. (당연하다. 문서화 중요성)
Java -> Kotlin으로 변경하며 큰 로직이 변경은 없지만 기존의 기능이 동작 여부에 대한 확인이 필요했다.
기존의 기능이 동작 여부에 대한 확인을 몽키 테스트로 진행...
Kotlin으로 변경 후 기존 기능이 잘 동작하는지 확신할 수 없다.
테스트 코드를 작성했다면 테스트에 대한 노력과 불안감을 최소화 할 수 있었을텐데
2. 리팩토링 순서에 대한 의문
Java -> Kotlin으로 변경하며
`Null 체크는 잘하고 있는가?`, `Kotlin 문법을 잘 사용하고 있는가?`
에 대한 의문이 대부분 들었다. 그래서 설계에 대한 생각은 거의 하지 못했다.
a. 설계와 메소드에 대한 리팩토링을 진행 후 Kotlin으로 변경
b. Kotlin으로 변경 후 설계와 메소드에 대한 리팩토링을 진행
어떤게 맞는지 의문이 들었다.
결과
Java -> Kotlin 변경만 집중!
AS-IS |
TO-BE |
TO-DO
Rename, package 정리, 설계 정리, deprecated code 정리 등등
#음악 플레이어 #Android 음악 플레이어 #앱개발 #모바일앱개발 #어플개발
'오렌지 플레이어 > 개발' 카테고리의 다른 글
[2019.02.23] 123. Android 음악 플레이어 프로젝트 [Refactoring - ui] (0) | 2019.02.23 |
---|---|
[2019.02.10] 122. Android 음악 플레이어 프로젝트 [Refactoring - data] (0) | 2019.02.10 |
[2019.01.31] 120. Android 음악 플레이어 프로젝트 [Lint warnings - 2] (0) | 2019.01.31 |
[2019.01.29] 119. Android 음악 플레이어 프로젝트 [Lint warnings - 1] (0) | 2019.01.29 |
[2017.11.29] 79. Android 음악 플레이어 프로젝트 [데이터정렬] (0) | 2017.11.29 |
댓글