20190420 TIL

summary : JAVA로 git 구현하기(VMGit), OOP

DONE

JAVA로 가상 GIT 동작 구현

  • DVCS 분산 저장소 방식에 대해 학습하고, 기본 동작을 구현
  • init : 저장소를 init 하고 checkout 으로 이동하는 과정을 구현
  • add, commit : 파일을 생성하고, 추가하고, 커밋하는 흐름을 작성
  • push : 로컬에 커밋한 내용을 remote에 반영하는 흐름을 구현
  • clone : remote에 있는 저장소를 local에 가져오는 방식을 구현

#

THINK

  • 객체 간의 책임 소재를 어떻게 해야 할 것인가에 시간을 많이 할애
  • git Area, remote Area, application, util, decoder, instructor 로 객체 간의 역할 분담 및 프로그래밍
  • 처음엔 구현이 수월했으나, 나중에 추가 요구 사항에 대응하는 것이 굉장히 힘들었음
  • 왜 수정에 그렇게 취약했을까?
    • 객체 별로 역할 구분을 잘했다고 생각했으나, 지나치게 커플링 된 객체가 많아 실패
    • interface를 기반으로 상위 클래스는 풍성하게, 인터페이스로는 최소한의 객체만 노출했어야 함
  • if- else 의 뎁스를 최대한 지양하고, 인터페이스 기반으로 최대한 추상화시키자
 Date: April 20, 2019
 Tags:  til

Previous:
⏪ 20190417 TIL

Next:
20190422 TIL ⏩