숫자야구 게임

구현할 기능 목록

  1. 숫자 생성
    • 중복되지 않는 숫자로 이루어진 3자리수 생성
  2. 힌트 제공
    • 스트라이크 계산
    • 볼 계산
    • 포볼 or 낫싱 계산
  3. 계산된 힌트 출력
    • 힌트 출력
  4. 정답 체크
    • 정답 체크
  5. 선택지 제공
    • 새 게임 or 게임 종료 선택지 제공 및 선택지 실행
  6. 입력값 제한
    • 숫자'만' 입력 가능
    • 중복된 숫자 입력 불가

피드백 및 개선사항

  1. 예외처리에 대한 테스트 코드 또한 작성하도록 노력하자.
  2. 예외 케이스를 구분해서 테스트 코드를 작성하도록 노력하자.
  3. 테스트하기 어려운 코드들을 테스트하기 쉽도록 만들려면 어떻게 해야할지 고민해보자. DI - Dependency Injection 과 전략패턴(Strategy Pattern)에 대한 학습을 해보는게 좋을 것 같다.
  4. MVC 패턴에 대해서 고민하고 설계를 할 수 있도록 노력하자.
  5. 메서드 및 변수, 클래스들의 이름에 대해서 좀 더 고민하도록 하자.
  6. 코드의 논리적 흐름에 따라서 구분하는 공백을 추가하는 습관을 들이도록 하자.
  7. 상수를 활용하여 코드의 의도를 좀 더 분명하게 드러내도록 하자.
  8. 불필요한 변수 할당을 줄이도록 노력하자.
  9. nullPointerException에 대해서 공부하도록 하자. ex) equals, valueOf 메소드 등등.. 참고자료1 참고자료2