계산기 회고
- 개발 전
- 처음부터 완벽한 설계는 없다.
- 요구사항을 리스트화 하자.
- 도메인을 나눠서 생각해보자.
- 개발 중
- 객체의 책임을 최대한 작게 나눠보자.
- enum을 이용한 전략 패턴을 적용해 보자. (확장성이 좋다. OCP)
- menu도 enum으로 구현하자 (확장성이 좋다. OCP)
- 한 줄 코딩은 지양하자.
- 코딩 테스트처럼 풀지 말자. (메서드는 하나의 동작만 해한다.)
- 설정파일도 관리하자(ex) .gitignore)
- 변수명에 대해 고민하자. (딱 보고 어떤 역할을 하는 놈인지 알게끔)
- 적절한 자료구조 고민하기.
- 인터페이스로 분리할 수 있으면 분리하기.
- Stream을 활용할 수 있는 부분은 활용하기.
- 테스트
- 단위 테스트를 꼼꼼이 작성하자.
- 단위 테스트에서도 중복을 제거하자.
- 단위 테스트가 완벽하면 통합 테스트는 적어도 괜찮다.
- 커밋 단위
- 커밋 히스토리는 나의 개발 히스토리를 보여주는 것이다.
- 커밋을 최대한 작은 기능 단위로 쪼개자. (되돌아 갔는데 동작 안되면.... 지옥)
TIL 공유를 통해 느낀점
- TIL을 통해 좋은 글 공유가 좋은 문화인 것 같다.
- 공부한 내용 중 공유하고 싶은 내용을 공유하면서, 다양한 지식을 접할 수 있었다.
- 공부한 내용을 공유해야 하는 책임감 덕분에 더 꼼꼼하게 공부할 수 있었다.
- 다른 분들의 하루를 보고 새로운 인사이트를 얻을 수 있다.
- TIL을 쓰는 과정에서 오늘 하루를 정리할 수 있었다.
발표
- 발표의 책임감 덕분에 하나의 주제에 대해 깊이 있게 공부할 수 있었다.
- 어떤 개념을 말로 설명하는 능력의 중요성을 깨달았다.