프로젝트는 여러번 해봤지만 객체지향적인 코드와 유지보수성이 좋은 코드에 대한 작성하는 방법에 대해서는 부족하다고 느끼고 있었습니다.
자바의 객체지향 개념이 추상적으로 느껴졌었고 제대로 학습하고자하는 갈망이 있어 자체적으로 진행하게 되었습니다.
이 과정을 통해 개념으로만 알고 있던 OOP를 코드에 적용하며 깊이 이해할 수 있었고, TDD도 같이 진행하며 테스트 코드를 익혔습니다.
학습 사이클은 다음과 같이 5단계에 걸쳐 진행했습니다.
1. 미션 진행
2. 코드 리뷰 받기
3. 피드백 반영 및 리팩토링
4. 수료생 5명 정도의 PR + 코드 분석
5. 분석한 내용 내 코드에 적용하기
학습과정에 대한 기록은 3가지 파일로 나누어 기록하였습니다.
README.md - 미션 요구사항 및 자문자답한 내용
feedback.md - 피드백 내용
fd-refactor.md - 피드백 반영 내용
| Project | Origin Repository | Practice Repository |
|---|---|---|
| 자동차 경주 | java-racingcar | 자동차 경주 구현 |
| 사다리 게임 | java-ladder | 사다리 게임 구현 |
| 블랙잭 | java-blackjack | 블랙잭 구현 |
| 체스 | java-chess | 체스 구현 |