좀 늦지만 우아한 테크코스 6기 프리코스 미션을 회고해 보겠다
숫자게임이 생각보다 어려웠던 거 같다
특히 Eslint Airbnb 규칙을 사용해서 프로그래밍 했는데
코드에 제약사항이 많아서 어떻게 하면 규칙을 지키면서 프로그래밍하는지 고민을 많이 했던거 같다
예를들면 다음 코드에서 while(true) 에서 ESlint 규칙에 위반되는 코드라서 규칙을 비활성화 했는데
지금생각하니 strike === 3 인 조건을 거는게 좀 더 올바른 코드였던 거 같다.
async startGame(answer) {
while (true) {
const input = (await Console.readLineAsync('숫자를 입력해주세요 : '))
.split(' ').join('')
.split('').map(Number);
if (input.length !== 3 || input.some((n) => !Number.isInteger(n))) {
throw new Error('[ERROR] 숫자가 잘못된 형식입니다.');
}
const [strike, ball] = this.getStrikesBalls(input, answer);
const message = this.getMessage(strike, ball);
Console.print(message);
if (strike === 3) {
Console.print('3개의 숫자를 모두 맞히셨습니다! 게임 종료');
Console.print('게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요.');
const isRetry = Number(await Console.readLineAsync(''));
if (isRetry !== 1 && isRetry !== 2) {
throw new Error('[ERROR] 숫자가 잘못된 형식입니다.');
}
return isRetry;
}
}
이번 프리코스에서 테스트 라이브러리인 jest 를 사용해서 테스트 코드를 작성한다.
테스트 코드는 처음 경험해 봐서 이해하는데 어려움을 겪었다.