💻 프로그래밍 요구 사항
① 자바 코드 컨벤션을 지키면서 프로그래밍한다
② indent(들여쓰기) depth를 2를 넘지 않도록 구현한다. 1까지만 허용한다
- 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다
- 힌트✨: indent(들여쓰기) depth를 줄이는 좋은 방법은 함수(메소드)를 분리하면 된다
③ 3항 연산자를 쓰지 않는다
④ else 예약어를 쓰지 않는다
- else 예약어를 쓰지 말라고 하니 switch/case로 구현하는 경우가 있는데 이 또한 허용하지 않는다
- 힌트✨ : if문에서 값을 반환하는 방식으로 구현하면 else 예약어를 사용하지 않아도 된다
⑤ 모든 기능을 TDD로 구현해 단위 테스트가 존재해야 한다. 단, UI(System.out, System.in) 로직은 제외
- 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분한다
- UI로직을 InputView, ResultView와 같은 클래스를 추가해 분리한다
⑥ 함수(또는 메서드)의 길이가 10라인을 넘어가지 않도록 구현한다
- 함수(메소드)가 한 가지 일만 하도록 최대한 작게 만들어라
⑦ 모든 원시값과 문자열을 포장한다(Wrapper Class)
⑧ 줄여 쓰지 않는다 (축약 금지)
⑨ 일급 컬렉션을 쓴다
⑩ 모든 엔티티를 작게 유지한다
⑪ 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다
📒 계획
Study Plan
🔖 개인 블로그 포스팅
4. 블랙잭 게임
[넥스트스탭] 블랙잭 - 자바 플레이 그라운드
3. 좌표계산기(선/직사각형/삼각형)
[넥스트스탭] 좌표계산기 - 자바 플레이 그라운드
2. 자동차 경주 게임
[넥스트스탭] 자동차 경주 게임 - 자바 플레이 그라운드
1. 숫자 야구 게임
[넥스트스탭] 숫자 야구 게임 - 자바 플레이 그라운드