한 주 동안 잘한점, 아쉬운점, 개선할 점, 도전할 점, 학습 키워드를 정리하고 동료들과 한 주 회고를 나눴다.
TDD 시도 : 먼저 테스트 코드 작성 (Red-Green-Refectoring)하고 코드를 구현하는 방식으로 코딩을 해봤다.
어떤 테스트 케이스를 거쳐야 그 테스트 케이스를 통과한 메소드를 신뢰할 수 있을지 고민해봤다.
요구 사항에 따라 나름대로 설계를 먼저한 후 코딩에 들어갔다.
테스트케이스
를 먼저 작성하고 Red를 Green으로 바꾸면서 클래스와 프로퍼티,메소드를 구현하고 Refactoring 했다.
테스트 케이스
를 작성하면서 전보다 제가 원하는 어떤 결과를 구체적으로 파악하게 된 것 같다. 이 테스트를 통과하기 위해서는 어떤 객체가 필요하고 그 객체가 어떤 메소드를 가지고 있어야 하고 어떤 프로퍼티를 가지고 있어야 하는지 먼저 큰 그림을 그려볼 수 있어서 좋았다. 처음에 깊게 생각하지 못한 부분 때문에 처음 설계와는 다르게 구현하게 됐지만, 그래도 중간 중간에 테스트 케이스를 먼저 수정하거나 추가하면서 그 테스트 케이스를 통과하기 위해 목적을 가지고 코드를 구현하는 것이 좋았다. 하지만 어떤 것을 테스트 해야 그 테스트를 통과한 메소드가 믿을만 해 지는 것인지는 아직 어렵다. 이 부분에 대해서는 계속해서 고민할 필요가 있다!