2주차 미션 2일차: 페어 프로그래밍 with Shine
마찬가지로 TDD를 기반으로 미션을 수행했습니다. 로또 1단계 미션 요구사항을 만족하고 PR을 보내는 것을 목표로 작업하였습니다. 여자친구 졸업식에 참석하느라 오후 일정을 조금 소비했는데 Shine이 이해해주셔서 다행히 잘 마무리했습니다. 1단계 PR을 마치고 내일 2,3단계를 진행해야 할 것 같습니다.
운영체제
강의 수강: 프로세스 관련 강의를 듣고 스터디 준비를 마쳤습니다.
zzangmin
이 갑자기 보내준 문제를 물었다가 1시간 30분을 날려서 TIL 적는걸 깜빡했습니다..ㅎㅎ그룹 리뷰 중에 private 메서드가 많아서 테스트가 어렵다는 동료가 있었다. 미션을 할 때 비슷한 경험이 많았어서 왜 그럴까 생각해보니 객체가 너무 많은 로직을 들고 있는게 아닐까?라는 생각이 들었다.
결국 private 메서드는 객체 내부에서 로직을 쪼개놓은 단위인데, 중요 로직이 private으로 막혀있다는 건 그 객체의 책임을 다른 객체로 나눠야한다는 신호일 수 있다고 생각했다.
객체간의 협력을 통해 로직이 수행된다면, 협력을 위해 메시지를 보내고 받는 메서드는 public으로 열려있을 것이기 때문에 테스트가 가능해진다.
이후에 미션을 진행할 때도 테스트 가능한 코드를 짤 수 있도록 충분히 객체의 역할을 잘 나누는 연습을 해야겠다고 느꼈다.