마지막 미션은 다리 건너기 게임을 구현하는 것으로, 제약사항과 함께 학습 목표에 리팩터링이 추가된다
- 함수(또는 메서드)의 길이가 10라인을 넘어가지 않도록 구현한다
- 메서드의 파라미터 개수는 최대 3개까지만 허용한다
- 제공된 InputView, OutputView, BridgeGame, BridgeMaker 클래스를 사용한다
- InputView에서만 Console.readline()을 이용해 사용자의 입력을 받을 수 있다
- BridgeGame 클래스에서 InputView와 outputView를 사용하지 않는다
- Random 값 추출은 제공된 BridgeRandomNumberGenerator의 generate()를 활용한다
- 이외에 각 클래스의 제약사항은 클래스별 세부 설명을 참고한다
클래스 분리와 메서드 구현에 있어 많은 가이드라인을 제공해준 느낌이다🤔 함수(또는 메서드) 길이 10줄 제한 등 제약사항이 많아 한 번에 구현하기보다는 기능을 완성하고 리팩터링해 나가는 과정이 중요할 것 같고, 미리 단위 테스트를 작성해두면 큰 도움이 될 것 같다 !
다리 건너기 게임을 시작합니다.
다리의 길이를 입력해주세요.
3
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O ]
[ ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O | X ]
[ | ]
게임을 다시 시도할지 여부를 입력해주세요. (재시도: R, 종료: Q)
R
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O ]
[ ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | ]
[ | O ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | | ]
[ | O | O ]
최종 게임 결과
[ O | | ]
[ | O | O ]
게임 성공 여부: 성공
총 시도한 횟수: 2
오징어 게임의 유리 징검다리가 생각나는 미션이다
재밌게 봤던 장면인데.. 직접 만드는 것도 재밌을까?
기능 목록을 정리하고 구현을 시작했다!
Pull Request 주소🔽
미션 취지에 맞게 기능을 다 구현하고 리팩토링을 하려 했지만 이미 개판이 되어버린 코드를 건드리기 쉽지 않았다😅 그럼에도 테스트코드가 있어 어느정도 리팩토링이 가능했고 자연스럽게 복잡한 애플리케이션을 다루는 MVC 패턴에 대해서도 이해하게 된 것 같다
이렇게 4주간의 프리코스 과정이 끝이 났다. 그동안 개발을 하며 자바스크립트 기본기와 클린코드에 대해 막연한 궁금증이 있었는데 프리코스를 통해 어느정도 갈증을 해소한 것 같다.
이번 11월달은 이런저런 일이 겹쳐 유독 정신이 없었다. 다음달부터는 다시 일상으로 복귀해 사람도 좀 만나고 진행하던 사이드 프로젝트와 함께 내가 하고싶은 개발을 더 하고싶다😊
+++
7:1의 경쟁률을 뚫고 최종 코딩테스트 대상자가 되었지만 아쉽게 불합격🥲🔽
본 내용은 우아한테크코스의 프리코스 과정을 바탕으로 작성되었습니다.
'Languages > JavaScript' 카테고리의 다른 글
[HUFS/GnuVil] #25 제너레이터와 async/await (0) | 2022.11.29 |
---|---|
[HUFS/GnuVil] #24 프로미스 (0) | 2022.11.29 |
[HUFS/GnuVil] #23 타이머, Ajax (0) | 2022.11.18 |
[HUFS/GnuVil] #22 이벤트 (0) | 2022.11.18 |
[HUFS/GnuVil] #21 Set과 Map, 비동기 프로그래밍 (0) | 2022.11.18 |