클린코드 과정의 학습 목표를 달성하기 위함인가?
- 프로그래밍 자체가 얼마나 재미있는 활동인지 경험하고,
- 효과적으로 프로그래밍을 학습하는 방법을 경험하고,
- 프로그래머로 어떻게 성장하고, 어떻게 살아갈 것인지 같이 고민하는 시간으로 만들기 위함이다.
- TDD, 리팩토링, 클린코드
- 순수 자바로 객체지향 프로그래밍
- 레거시 코드 리팩토링
NextStep 교육 과정에서 행동의 변화를 만드는 가장 좋은 방법은 미션을 진행하고, 코드 리뷰를 받는 과정 이다. 강의는 온라인 코드 리뷰를 지원할 뿐이다.
- 초간단 자동차 경주 게임
- 로또
- 사다리 타기
- 볼링 게임 점수판
- 코드 리뷰어는 모두 NextStep 교육을 수료한 개발자 중에서 선정
- 리뷰어는 각 미션별로 랜덤으로 다시 배정. 같은 리뷰어가 배정되지 않음
- 리뷰 요청 후 24시간 이내에 피드백을 주는 것을 목표로 함.
- java-racingcar
- Github 기반의 온라인 코드 리뷰
- JUnit을 이용한 단위 테스트 경험
- 자바 code convention을 지키면서 프로그래밍하는 경험
- 메소드를 분리하는 리팩토링 경험
- java-lotto
- TDD 기반 프로그래밍 경험
- 리팩토링 경험: 메소드 분리 + 클래스를 분리
- 점진적 리팩토링 경험
- java-ladder
- 함수형 프로그래밍: 자바8의 스트림, 람다를 사용
- 도메인 객체를 설계: In -> Out / Out -> In
- 책임주도설계: 인터페이스를 활용한 프로그래밍 연습
- java-bowling
- 레거시 코드 리팩토링(Q&A 서비스 활용)
- 지금까지 학습한 내용을 기반으로 TDD, 클린코드, 객체지향 프로그래밍하는 경험