2주차엔 숫자야구 만들기가 진행됐다.
기능목록
🚀 기능 목록
- BaseBall 클래스
- BaseBall 시작알림
- 게임 진행 클래스
- 랜덤숫자(정답) 뽑기
- 게임진행
- 사용자의 숫자 입력(유효성검사) Exception
- 길이 3인지
- 세 문자가 숫자인지
- 중복된 값을 가지는지
- 0 포함 됐는지
- 정답과 입력값 비교
- 3스트라이크 까지 반복
- 사용자의 숫자 입력(유효성검사) Exception
- 게임 이후 클래스
- 사용자의 재시작 여부 질문
- 사용자의 숫자 입력(유효성검사)
- 1이나 2 인지? 아니면 Exception
- 재시작 or 종료
🚀 내가 생각한 문제 제한사항
- 컴퓨터의 정답뽑기는 항상 유효
- 사용자의 입력값은 항상 유효성 검사 필요
- 사용자가 유효한 숫자를 입력하기 전이나 뒤의 공백은 유효한 입력값이라고 생각(ex: " 123", "123 ")
🚀 추가된 요구사항
- indent depth 2까지
- 3항 연산자 금지
- 함수는 한 가지 일만 하도록 분리
- 테스트 코드 이용
배운 것
- 역할대로 클래스 분리하기
- test코드에서 콘솔의 인풋, 아웃풋
- 예외 처리를 try ~ catch 문으로 받으면 정상종료
- 다른 분들 코드를 보고있는데 레이어단의 분할(컨트롤러, 뷰), IllegalArgumentState 를 상속받은 예외클래스 생성과 Java 8 문법과 객체지향적 프로그래밍에 대해 아직 부족한 점이 많은 것 같다.