Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 2.29 KB

README.md

File metadata and controls

45 lines (34 loc) · 2.29 KB

java-playground

미션 소개

미션 진행 방법

  • 각 요구 사항에 맞추어 콘솔 창 기반의 간단한 프로그램을 구현한다

    • 요구 사항에는 실행 결과를 포함한 기능 요구 사항, 프로그래밍 요구 사항이 있다.
    • 프로그래밍 요구 사항에는 책 'The ThroughtWorks Anthology'에서 제안한 객체 지향 생활 체조 원칙을 기반으로 한다.
  • 프로그램을 일차적으로 구현 후, 공통 피드백을 통해 리팩토링을 한다.

    • 공통 피드백을 적용한 내용이나 생각한 내용에 대해서는 Wiki 항목에 정리했다.

학습 목표

  • 기본 학습 목표

    • GitHub을 활용해 미션 기반으로 학습하는 경험을 한다.
    • 컨벤션을 지키고, 읽기 좋은 코드 구현에 대한 필요성을 느끼고, 구현하는 경험을 한다.
    • 테스트 기반으로 리팩터링을 통해 점진적으로 클린코드를 구현하는 경험을 한다.
  • 추가 학습 목표

    • 프로그래밍 자체가 얼마나 재미있는 활동인지 경험하고
    • 효과적으로 프로그래밍을 학습하는 방법을 경험하고
    • 프로그래머로 어떻게 성장하고, 어떻게 살아갈 것인지 같이 고민하는 시간으로 만들기 위함이다.

미션별 학습 목표

  • 숫자 야구 게임

    • 자바 code convention을 지키면서 프로그래밍하는 경험
    • JUnit 사용법을 익혀 단위 테스트하는 경험
    • 학습테스트를 하면서 JUnit 사용법을 익히는 경험
    • 메소드를 분리하는 리팩터링 경험
  • 자동차 경주 게임

    • TDD 기반으로 프로그래밍하는 경험
    • 메소드 분리 + 클래스를 분리하는 리팩토링 경험
    • 점진적으로 리팩토링하는 경험
  • 좌표 계산기

    • 미션을 통해 상속과 인터페이스를 하는 경험
    • 상속과 인터페이스를 적용해 리팩터링하는 경험
  • 블랙잭

    • 자바8의 스트림, 람다를 사용해 함수형 프로그래밍하는 경험
    • 다형성을 통해 객체지향 프로그래밍하는 경험

배운 점