우아한테크코스 6기 최종 코딩테스트를 준비하면서 작성된 글입니다.
아래의 우아한테크코스의 프리코스 과제를 수행해 오면서 정리한 내용들로 이루어져 있습니다.
oncall - 최종 코딩 테스트!subway-pathpairmatching-precoursebridgebaseballmenuchristmaslottoracingcarvendingmachineonboardingdocs(README): 기능 목록 정리
특히 기능 요구 사항을 읽어가면서, 처음에는 README에 아래의 내용을 작성해 나아간다. 기능 요구 사항을 읽어도 눈에 잘 안들어 올 수 있다.
따라서 README에 중요하다고 생각되는 부분 먼저 작성하고,
해당 도메인을 구현하면서 분리가 가능하다고 생각되면 분리를 진행하자.
초기 README
- 전체적인 게임 규칙
- 전체적인 게임 흐름
- Domain
- Input/Output
- Controller
다리 : 다리의 길이는 3 이상 20 이하로 만들어져야 한다.
입력 : 자동으로 생성할 다리 길이를 입력 받는다. 3 이상 20 이하의 숫자를 입력할 수 있다
이와 같은 부분은 도메인의 비즈니스 로직 예외 검증 부분과,
입력의 단순 입력 예외 검증 부분을 구분하는 용도로 중복을 제거하지 말고, 그대로 유지한다.
하나의 도메인(ex: 입력, 출력, 다리 등)에서 중복되는 요구사항들이 존재한다면 다른 도메인으로 전파 시키지 말고 그 도메인 내에서 중복을 제거하자.
단순히 값을 표현하는 Enum객체에서 생성자와 Getter만 존재하더라도 기능 목록에 작성해 주고, 필드(생성자만 있는 클래스, 열거형)만 가지고 있는 경우
README작성 시 - [x]로 체크박스화 하지말고 작성하자!
정의할 수 있다 보다는 구성된다 가 더 눈에 잘들어오는 것 같다.

최종 README
- Domain
- Input/Output
- Controller