뒤늦게 작성하는 2주차 발자국

미션을 수행하고, 메모에만 옮겨놓고 완수 메모를 남기려고 확인해보니 2주차 발자국을 안 적었었다.

2주차에는 실제로 객체지향을 적용하는데 필요한 테크닉과 실제로 리팩토링을 실행해보는 과정

그리고, Practical Testing 강의를 시작하는 파트였다.

이전에, 우빈님의 라이브에서 내 코드가 피드백 부분에 있었는데 라이브를 듣지 못해서 너무 아쉬웠다.
해당 방식이 오버엔지니어링이라는 피드백을 받았는데, 그 부분에 있어서 타당한 근거가 있었다.

하지만 요구사항보다는 더 들어갔기에 오버엔지니어링은 맞을 것이다. 그렇다면 우리는 언제쯤 하나로 통합하여 관리 포인트를 줄이는 작업을 할 수 있을까?

Value Object

Value Object는 늘 불변을 유지해야 한다.
어떠한 로직이 들어가더라도 새로운 값이 반환이 되어야 한다. 즉, 새로이 객체를 생성하여야 한다.
Value Object는 Entity와 달리 식별자가 없기 때문이다.

객체의 책임과 응집도

이 부분은 항상 고민이 많다. 어느정도로 책임을 줄여야하지? 이정도면 다른데서는 수정 될 이유가 없을까?
정말 수정되지 않으려면 정말 작게 만들어야 하는데 그 부분이 참 어렵다.

 

단위 테스트

Junit을 통한 단위테스트와 테스트 개념, 그리고 인터페이스를 활용한 테스트하기 어려운 영역을 분리하는 개념에 대해서 배웠다. 이 부분은 늘 테스트를 짜면서 실천하고 있기에 더 중요하다는 것을 인지하는 계기가 되었다.

댓글을 작성해보세요.

채널톡 아이콘