스프링 3주차 회고..

Dong Wook Lee (Michael)·2021년 2월 7일
0

Facts (사실, 객관)

  • 이번주는 회사 일 때문에, 과제를 많이 하지 못했다.
  • 테스트 코드를 이렇게 처음부터 작성한 것은 처음이다.
  • 테스트 코드에 관한 책을 읽어 보았다.
  • 루비로 배우는 객체지향 디자인이라는 책을 읽어보았다.

Feelings (느낌, 주관)

  • 처음에는 테스트 코드를 어떻게 작성해야하는지 막막했지만, 예제와 같이 어떻게 사용하는지를 보여주는데에 초점을 맞추자 조금 작성하기 편해졌다.
  • 테스트 코드를 작성하기 위해서 실제 코드를 알맞게 고쳐야하는지 의문이 들었다.
  • 어떻게 하면 의존성에 영향을 받지 않는 테스트를 작성할지 미리부터 고민이 되었다.

Findings (배운 점)

  • 코드를 복제하여 새로운 복사본을 만들고, 그 복사본에 여러분이 원하는 작업을 추가하여 업데이트 하는 것은 확장을 위한 완벽한 방법이다!!

프로그래머를 위한 파이썬에서 위와 같은 글귀를 보게 되었다. 이는 아샬님이 테스트 코드를 작성할 때, 기존에 있는 코드를 복사와 붙여넣기를 하고, 필요에 따라서 변경하는 방식이다. 따라서 확장성 있는 코드는 기존의 동작에서 복사를 하고 약간 변경하기만 해도 동작하는 코드임을 배울 수 있었다. 따라서 만약 복사와 붙여넣기로 기능을 추가할 수 없다면 그것은 확장성이 없는 코드라는 이야기이다.

  • 테스트 코드를 잘 작성하려면 객체 지향 원칙을 잘 지켜야한다는 것을 알게 되었다.
  • 의존성을 관리하는 것이 어떻게 테스트 코드에 영향을 미칠 수 있는지를 알게 되었다.

Affimation (자기 선언)

  • 테스트 코드가 하나도 없던 기존의 회사 코드에, 테스트 코드를 작성할 것이다.
  • 기존의 레거시 코드에서 클래스가 SRP 원칙을 지키는지, 그리고 그렇지 않다면 어떻게 하면 SRP를 지킬 수 있게 분리할 수 있는지 분석을 할 것이다.
  • 시퀀스 다이어그램을 이용하여, 객체들의 관계를 파악해보겠다.
  • 기존 레거시 코드에서 의존성이 있는 부분을 발견하고 어떻게 하면 격리할 수 있을지 고민을 할 것이다.
  • SRP 분석을 하면서 메서드 역시 각각 한 가지 일만 할 수 있도록 분리할 수 있으면 분리를 할 예정이다.
  • 이번 연휴 동안, TDD 관련 서적을 읽으면서 어떻게 하면 의존성에 영향을 받지 않고 테스트를 잘 할 수 있을지 고민을 할 것이다.
profile
오픈소스 메인테이너를 꿈꾸는 개발자!

0개의 댓글