
Good Point
Bad Point
What I learned and What were reviewed
반복되는 구분이 있다면 테스트 픽스쳐를 사용하는 것을 고려해보자.
위와같은 부분에 대해 정리해놓은 블로그가 있었지만 이러한 구문을
테스트 픽스쳐 라고 명명되어있는것은 처음알게되었다.
Getter 사용에 대하여
강의 전반에 걸쳐 Getter 를 사용하지 말자는 이슈가 존재한다. 이부분에 대하여 피드백을 받은 부분은
절!!대 !! 사용하지 말자 가 아니다. DTO 객체에서 즉 도메인 로직이 작용하지 않는 선에서는 Getter 메서드가 반드시 필요하다.
흔히 현업에서 Get 으로 값을 객체에서 직접 꺼낸후 Set 해 주는 로직이 매우 자주 발생하게 되는데 이러한 코드는 어디서 값이 변경되는지 찾기 어렵게 만들 뿐더라 캡슐화를 깨며 OOP 에 적대적인 코드이자 절차지향 적인 코드가 작성되게 된다.
final 로 선언한 불변 객체에 대하여
불변인 필드를 사용하고 있는 상태 즉 아래와 같은 상태일 경우
public class Car {
public final Distance;
...
}
public class Distance {
private final int distance = 0;
...
}
위와같이 불변인 필드를 갖는 객체또한 불변성을 유지하는 것이 좋은 설계 이지만
리소스적인 면과 자주 상태값의 변화가 이뤄지는 컬럼이라면 반드시 레핑해주는 클래스까지 불변함을 유지하지 않아도 된다. 테스트만 가능하다면 꼭 반드시 지켜야 하는 룰은 아니나 지키려 노력하자.