2024. 9. 13. 21:02ㆍ내일배움캠프
'Level.01 요구사항' 중 '정답 생성' 과 '플레이어 입력' 을 구현하였는데, 구현 이후 다시 코드를 확인하며 회고하려 한다. 구현 코드 및 프로젝트 설명은 여기서 확인 할 수 있다.
1. 정답 생성
일단 게임 시작시 정답을 생성하는 역할을 추상화한 인터페이스와 그 구현 클래스를 작성했는데, 지금 보니 구현 클래스의 이름을 '세 자리 숫자 정답' 을 생성한다는 의미를 담아 지었는데 다시 보니...이건 아니다.
아마 요구사항에 정답의 길이를 '3자리' 에서 '5자리' 로 늘리는 부분이 있었는데, 그걸 의식했던 것 같다. 하지만 위 이미지에서도 그렇지만 정답의 길이가 늘어난다고 해서 클래스의 필드나 메서드가 크게 바뀌는 것은 없다. 바뀌어 봤자 'List<Integer> numbers' 에서 꺼낼 값이 3개에서 5개로 늘어나는 것 뿐이다. 이 부분은 수정이 필요해 보인다.
2. 플레이어 입력
이것도 사실 '정답 생성' 과 같은 맥락인 것 같다. 고작 하루였지만 왜 이렇게 짰는지 다시 한 번 통감한다.
3. 마무리
아무래도 설계를 너무 대략적으로 한 것이 문제인지 중간에 요구사항을 다시 볼 때마다, 막상 정했던 내용조차 흐릿해지거나 다시 구상해야 했다. 이렇다 보니 진도는 나가지 않고, 작성해둔 코드를 지금처럼 다시 보면 내가 작성했지만 의문이 드는 것이 한 두개가 아니다. 이렇게 된 이상 과제 수행을 할 수 없는 기간(추석연휴 일부)에는 손으로 먼저 '데이터 흐름도', '클래스 다이어그램' 을 이전보다 상세히 그려 보고 프로젝트를 이어 진행해야겠다.
그래도 영 소득이 없는 하루는 아니었는데, 이전 과제부터 신경쓰였던 '테스트 코드' 를 이번 과제부터 작성하며 구현을 진행하였다. 매번 테스트 값을 넣어 원하는 것을 확인하는 것이 아니라 작성해둔 코드를 활용하다 보니 훨씬 효율적이었다. 이번 과제에서는 테스트 코드를 습관을 들이는 것에도 신경을 쓸 생각이다.
'내일배움캠프' 카테고리의 다른 글
[내일배움캠프] 계산기 구현 - 피드백 반영(1) (0) | 2024.09.17 |
---|---|
[내일배움캠프] TIL - 24.09.13(금) (0) | 2024.09.13 |
[내일배움캠프] TIL - 24.09.12(목) (0) | 2024.09.12 |
[내일배움캠프] 숫자 야구 게임 구현 - 요구사항 정리 및 설계 (0) | 2024.09.12 |
[내일배움캠프] TIL - 24.09.11(수) (0) | 2024.09.11 |