Skip to content

Latest commit

 

History

History
16 lines (10 loc) · 1013 Bytes

step5.md

File metadata and controls

16 lines (10 loc) · 1013 Bytes

image

5단계 - 자동차 경주(리팩터링)

3~4단계를 거쳐온 자동차 경주를 리팩터링한다.

프로그래밍 요구 사항

  • 핵심 비지니스 로직을 가지는 객체를 domain 패키지, UI 관련한 객체를 view 패키지에 구현한다.

  • MVC 패턴 기반으로 리팩토링해 view 패키지의 객체가 domain 패키지 객체에 의존할 수 있지만, domain 패키지의 객체는 view 패키지 객체에 의존하지 않도록 구현한다.

  • 테스트 가능한 부분과 테스트하기 힘든 부분을 분리해 테스트 가능한 부분에 대해서만 단위 테스트를 진행한다.

    • 랜덤하게 이동하는 자동차에 대해서, 꼭 자동차 전체를 테스트 할 필요가 있을까?
    • 랜덤하게 값이 발생되는 부분을 분리하면, 자동차가 이동하는 로직에 대해서만 테스트 할 수 있지 않을까?
  • https://hyeon9mak.github.io/kotlin-tips-for-java-developer/ 참고