본문
[2019.02.10] 122. Android 음악 플레이어 프로젝트 [Refactoring - data]
오렌지 플레이어/개발 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 #앱개발 #모바일앱개발 #어플개발
'오렌지 플레이어 > 개발' 카테고리의 다른 글
[2019.02.26] 124. Android 음악 플레이어 프로젝트 [Refactoring - service] (0) | 2019.02.26 |
---|---|
[2019.02.23] 123. Android 음악 플레이어 프로젝트 [Refactoring - ui] (0) | 2019.02.23 |
[2019.02.03] 121. Android 음악 플레이어 프로젝트 [Java -> Kotlin] (0) | 2019.02.03 |
[2019.01.31] 120. Android 음악 플레이어 프로젝트 [Lint warnings - 2] (0) | 2019.01.31 |
[2019.01.29] 119. Android 음악 플레이어 프로젝트 [Lint warnings - 1] (0) | 2019.01.29 |
댓글