[테스트 주도 개발] 28장_초록 막대 패턴
코드가 테스트를 통과하게 만들기 위해 이 패턴들을 사용해라.
가짜로 구현하기 ( 진짜로 만들기 전까지만 )
실패하는 테스트를 만든 후 첫 번째 구현은 어떻게 하는게 좋을까? 상수를 반환하게 하라. 일단 테스트가 통과하면 단계적으로 상수를 변수를 사용하는 수식으로 변형한다.
삼각 측량
오로지 예가 두개 이상일 때만 추상화를 해라.
두 정수 합을 반환하는 함수를 예로 보자.
1 |
|
1 | private int plus(int augend, int addend) { |
삼각 층량을 사용해서 바른 설계로 간다면, 다음과 같이 작성해야한다.
1 |
|
그러면, 우리는 plus 의 구현을 추상화 할 수 있다.
1 | private int plus(int augend, int addend) { |
어떤 계산을 어떻게 해야 올바르게 추상화할 것인지에 대해 감잡기 어려울 때만, 삼각측량을 사용해라. 그 이외는, 명백한 구현이나 가짜로 구현하기에 의존해라.
명백한 구현
단순한 연산들은 그냥 구현해라.
하나에서 여럿으로
객체 collection 을 다루는 연산은 어떻게 구현하나 ? 일단은 collection 없이 구현하고 그 다음에 collection 을 사용해라.
테스트 주도 개발 <켄트 벡>