7월, 2024의 게시물 표시

MediaPlayer todo's

 Package name : com.todokanai.musicplayer 2024/7/18 Todo General     - PathPicker에서 external memory 선택 기능 추가하기  CustomPlayer   - CustomPlayer의 constructor parameter 중에서 seed,playList,shuffleMode,currentMusic,loop의 initial value를 굳이 받아와야 하는건지 재고할것  SettingsViewModel     - apply() 에서 동일 item이 중복 scan되는 현상  PathPickerViewModel    -  close 한 다음, dialog를 다시 열었을 때, 이전의 currentPath 값이 유지되는 현상  *(1) Fixed     CustomPlayer.kt     - setMusic(music:Music?,context:Context) : playList 전체에서 exception 발생시 getCircularNext의 infinite loop 현상 fix    ->  기존의 setMusic 작업을 setMusicPrimitive()로 분리     -> 새로 생성한 상위 method인 setMusic()에서 getCircularNext의 infinite loop 체크 고찰 : setMusic(music:Music?, context:Context)을 Context.setMusic(music:Music?)으로 Refactor 할까 망설이다가 기각함. ( 엉뚱한 곳에서 호출할 위험성 배제 )  //-------------------------------------------------------- 2024/7/19 Todo  General   ...

Rules ( Flexible )

 라이브러리를 import 할때, 이게 여기에 꼭 있어야 할 이유가 있는지 고민하기   -> 결론이 No일 경우, 다른 클래스에서 해결해야 함 자주 사용하게 될 내용은 일반화(generalization) 해서 작성해두기

Class 내부 function의 parameter 설정시 주의할 점

Class Model ( val p1:A ){   fun test ( p1:A ){   // don't do this        p1.내용....   } } --------------- Class Model ( val p1:A ){   fun test (  )  {         p1.내용.....    } }