Skip to content

JunilHwang/java-clean-code

Repository files navigation

클린코드 과정 소개 및 커리큘럼

1. 클린코드 과정의 학습

클린코드 과정의 학습 목표를 달성하기 위함인가?

  • 프로그래밍 자체가 얼마나 재미있는 활동인지 경험하고,
  • 효과적으로 프로그래밍을 학습하는 방법을 경험하고,
  • 프로그래머로 어떻게 성장하고, 어떻게 살아갈 것인지 같이 고민하는 시간으로 만들기 위함이다.
  • TDD, 리팩토링, 클린코드
  • 순수 자바로 객체지향 프로그래밍
  • 레거시 코드 리팩토링

2. 기간, 미션 소개

NextStep 교육 과정에서 행동의 변화를 만드는 가장 좋은 방법은 미션을 진행하고, 코드 리뷰를 받는 과정 이다. 강의는 온라인 코드 리뷰를 지원할 뿐이다.

  • 초간단 자동차 경주 게임
  • 로또
  • 사다리 타기
  • 볼링 게임 점수판

3. 코드 리뷰어

  • 코드 리뷰어는 모두 NextStep 교육을 수료한 개발자 중에서 선정
  • 리뷰어는 각 미션별로 랜덤으로 다시 배정. 같은 리뷰어가 배정되지 않음
  • 리뷰 요청 후 24시간 이내에 피드백을 주는 것을 목표로 함.

4. 미션별 학습 목표

(1) 초간단 자동차 경주 게임

  • java-racingcar
  • Github 기반의 온라인 코드 리뷰
  • JUnit을 이용한 단위 테스트 경험
  • 자바 code convention을 지키면서 프로그래밍하는 경험
  • 메소드를 분리하는 리팩토링 경험

(2) 로또

  • java-lotto
  • TDD 기반 프로그래밍 경험
  • 리팩토링 경험: 메소드 분리 + 클래스를 분리
  • 점진적 리팩토링 경험

(3) 사다리 타기

  • java-ladder
  • 함수형 프로그래밍: 자바8의 스트림, 람다를 사용
  • 도메인 객체를 설계: In -> Out / Out -> In
  • 책임주도설계: 인터페이스를 활용한 프로그래밍 연습

(4) 볼링 게임 전수판

  • java-bowling
  • 레거시 코드 리팩토링(Q&A 서비스 활용)
  • 지금까지 학습한 내용을 기반으로 TDD, 클린코드, 객체지향 프로그래밍하는 경험

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages