분류 전체보기(204)
-
[내일배움캠프] 숫자 야구 게임 구현 - Level.04 요구사항 반영
Level03 요구사항까지는 요구사항 반영시 수정보다 추가되는 부분이 많았지만, Level04 요구사항의 경우 수정할 부분이 더 많아 이렇게 정리하게 되었다. 최종적으로 수정된 코드는 여기서 확인할 수 있다. 0. 요구사항 간단 정리 시작 메뉴에 정답의 자릿수를 선택할 수 있는 기능을 추가해야 한다. 사용자가 해당 메뉴를 선택해 자릿수를 입력하면 즉시 게임이 시작되어야 한다. 물론 다른 메뉴들은 요구사항 반영 후에도 반영전과 같이 동일하게 기능이 수행되어야 한다. 비교적 자세한 요구사항은 여기에 정리해 두었다. 1. 정답 생성 기존에는 고정적으로 '3자리' 의 정답을 생성하였지만 이제는 사용자가 입력한 '자릿수' 에 해당하는 정답을 생성할 필요가 있다. 일단 기존의 'CorrectAnswerGenera..
2024.09.22 -
[내일배움캠프] 숫자 야구 게임 구현 - 리팩토링(2)
어제 Level03 요구사항을 반영하기 위해 작성한(커밋은 오늘 했지만...) 코드를 다시 한 번 확인하고 리팩토링 해보았다. 수정한 코드는 여기서 확인 가능한다. 1. 패키지명 수정 현재 패키지 구성을 다시 확인하면서 일부 패키지의 이름이 의도를 명확히 전달하지 못하는 것 같아 수정하였다. 아래는 수정 전의 패키지 상태이다. 패키지명을 왜 수정하게 됬는지 설명하기 앞서 현재 패키지 구성에 대해 설명하자면, 현재의 패키지는 'package' 경로를 통해 해당 클래스(또는 인터페이스)가 어떤 목적으로 작성된 것인지 유추할 수 있도록 구성되었다. 예를 들어 이번에 추가한 'GameRecorder' 인터페이스의 패키지 경로는 아래와 같다.package numberBaseball.domain.playRecord..
2024.09.21 -
[내일배움캠프] 숫자 야구 게임 구현 - 리팩토링(1)
현재 'Level01' 부터 'Level02' 까지의 요구사항을 반영하였는데, 코드를 한 번 다시 확인해보고 '리팩토링(refactoring)' 해 보았다. 수정된 코드는 여기서 확인이 가능하다. 1. application 수행 흐름 반영된 요구사항에 따르면 사용자가 게임을 '시작 - 종료' 할 때, application 은 아래와 같은 수행 흐름을 가지게 된다.프로그램 시작시작 메뉴 노출 : 사용자는 메뉴를 보고 게임을 시작 또는 종료 할 수 있음게임 시작 선택 : 게임이 시작되면 application 은 현재 게임의 '정답' 을 생성입력 : 사용자는 정답이라 생각하는 값을 입력, application 은 '정답' 과 '입력' 을 비교하고 결과를 사용자에게 알려줌정답 입력 : 사용자의 입력이 정답이면 ..
2024.09.20 -
[내일배움캠프] TIL - 24.09.19(목)
어제부로 피드백을 모두 반영했기에 오늘은 우선 피드백을 주신 튜터님을 찾아가 피드백 반영에 대한 확인(?) 을 받았다. 마지막에 튜터님으로 부터 "감동인데요?" 라는 말씀을 해주셔서 뿌듯했는데, 다른 관점(다른 개발자 시점)에서 프로젝트를 확인하고 이해한 뒤, 수정해 볼 수 있었기 때문에 너무 좋은 경험이었다고 생각한다. 이후에는 추석 전에 발제된 '숫자 야구' 프로젝트를 이어 진행했으며 Level01-02 의 모든 요구사항을 반영해 '기본 구현' 을 마쳤다. 내일은 오늘 작성한 코드를 다시 한 번 확인하고 수정하는 과정을 거친 다음 Level03 의 요구사항을 반영할 생각이다. 오늘 작성한 코드는 여기서 확인이 가능하다. ※ 참고 : 나는 TIL 작성 방식을 내가 학습하며 정리한 다른 게시글들과 하이..
2024.09.19 -
[내일배움캠프] TIL - 24.09.18(수)
짧지만 무사히 추석을 가족과 보내고 복귀하였다. 아직 연휴는 몇 일 남았기에 이 기간동안 우선 이전에 제출한 '계산기 구현' 과제의 피드백 사항을 'Calculator' 프로젝트에 반영해보고자 한다. 피드백 사항을 크게 분류하면 아래와 같고 해당 피드백을 어떻게 반영했는지는 링크를 통해 확인할 수 있다.네이밍 관련불필요한 연산 객체 (반복)생성 및 역할 분리예외 처리피드백을 반영한 코드 및 TIL 은 이번주 목요일에 캠프가 다시 시작된다. 이 날 피드백을 남겨주신 튜터님을 찾아가 피드백 반영에 대한 부분을 이야기해 볼 생각이다. ※ 참고 : 나는 TIL 작성 방식을 내가 학습하며 정리한 다른 게시글들과 하이퍼링크를 거는 방식으로 작성하였다. 학습한 내용에 하이퍼링크를 걸어두었으니 해당 링크를 통해 학습..
2024.09.18 -
[내일배움캠프] 계산기 구현 - 피드백 반영(3)
세 번째 피드백은 '0' 으로 피연산자를 나누는 연산에 대한 예외 처리와 '명확한 예외 처리' 에 대한 내용이었으며, 피드백을 반영한 코드는 여기서 확인할 수 있다. 1. 명확한 예외 처리 연산(입력 값)에 대한 유효성을 확인하는 'checkValidCalculation(String)' 메서드이다. 만약 유효하지 않다면 'BadInputException' 이 발생, 예외의 처리 책임은 메서드를 호출한 곳으로 넘긴다. 그래서 아래의 이미치처럼 발생한 예외를 'Level04.start()' 메서드에서 처리하도록 구현했다. 문제의 구현부인데, 'InputValidator.checkValidCalculation()' 에서 발생한 예외를 'catch' 를 통해 잘 처리한 듯 보이지만 'catch' 에 지정된 예외..
2024.09.18