오렌지 플레이어/개발
[2019.02.10] 122. Android 음악 플레이어 프로젝트 [Refactoring - data]
heepie
2019. 2. 10. 01:41
도입
이번 포스팅에서는 음악 플레이어의 data관련 클래스들을 리팩토링할 예정이다.
최종 설계를 바탕으로 TO-BE를 확인 후 실습 과정 확인
결과
AS-IS |
TO-BE |
|
1. Video model 확장 가능성 생각
2. MediaRemoteDataSource 확장 생각
실습
Step1. Package 재구성 및 Rename
|
AS-IS |
TO-BE |
비교 |
|
|
개선사항 해결책 |
의존성 강함, 확장성 적음 |
Interface를 통해 의존성 제거, 확장성 증가 |
변수, 메소드 명이 명확하지 않음 |
Renaming을 통해 명확화 |
Step2. const -> enum으로 변경
|
AS-IS |
TO-BE |
||||||
비교 |
|
|
||||||
개선사항 해결책 |
Const value 사용 시, 적합하지 않은 값이 입력되어도 컴파일 에러 X |
Enum class를 사용하므로 적합하지 않은 값이 입력되면 컴파일 에러 O |
Step3. 테스트 코드 작성
지난 Java -> Kotlin으로 변경하는 과정에서 테스트 코드의 중요성을 많이 느꼈다.
그래서 리팩토링을 진행하며 테스트 코드를 작성했다.
#안드로이드 음악플레이어 #음악 플레이어 개발 #Android MusicPlayer #앱개발 #모바일앱개발 #어플개발