1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)
이번 주차를 지나며 겪었던 문제가 무엇이었나요?
- TDD 자체가 처음이여서 테스트케이스 작성하는 것부터 감을 잡기 어려웠다.
- 받은 코드도 원래 생각했던 패키지 구조와 달라서 돌아가는 방식을 이해하는 데 어려움이 있었다.
2. 시도
문제를 해결하기 위해 어떤 시도를 하셨나요?
- 평소와 같이 구글링을 하거나 테스트관련 인강을 찾아보면서 이해하려고 노력함.
3. 해결
문제를 어떻게 해결하셨나요?
- 해결이라기 보다는 다른 사람들의 코드와 멘토링 시간들을 통해서 어떤식으로 코드를 작성하는 지, 고려해야 할 것들이 무엇인지 생각하게 됨.
4. 알게된 것
문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?
- 좋은 테스트는 실패한 테스트라는 것.
100번시도하여 100번 다 성공한 테스트는 좋은 테스트가 아니라는 것.
- 하나의 함수에 여러 기능을 넣지 않고 최대한 세세하게 코드를 작성해야 하고 설계를 잘해야 유지보수하기 좋다는 것,
Keep : 현재 만족하고 계속 유지할 부분
Problem : 개선이 필요하다고 생각하는 문제점
Try : 문제점을 해결하기 위해 시도해야 할 것
keep
- 퇴근 후에 바로 눕지 않고 팀별 모임에 참여하여 조금이나마 자기개발하려는 의지가 생긴 것 같다.
- 팀원들과의 대화에 적극 참여함.
problem
- 다른 분들의 코드를 내 코드와 비교하며, 기본기가 많이 부족함을 느끼고 보충할 필요성을 느낌.
- 테스트 코드가 익숙하지 않아 다른 분들의 코드를 봐도 제대로 된 리뷰를 해드리기 어려웠음.
- 단위 테스트와 통합 테스트 구분이 아직은 어렵다.
- 주석을 좀 더 세세하게 할 필요가 있다.
- 단일책임원칙, 디자인패턴, DIP 등 용어가 아직은 머리속에 잘 들어오지 않는 느낌.
- 이론으로 배웠던 개념들을 막상 소스에 적용하려고 하니 뭐 부터 해야할지 모르겠다.
try
- 개념을 확실하게 이해를 하고 넘어가기 위해 복습을 철저히하고 좀 더 생각하며 코딩하는 습관 기르기
- 이해가 되지 않는 코드나 개념이 있다면 물어보거나 개념을 복습하며 스스로 생각해보기.
- 매일매일 코딩하는 습관 기르기