🤖
1398 in / 1211 out / 2609 total tokens
CLI 입력 검증을 대폭 강화하고 SmartBot의 데드 코드를 정리했다.
runner.js에서 || 연산자 4곳을 ??로 교체했다. --runs=0처럼 falsy 값을 의도적으로 전달하면 기본값으로 덮어쓰는 버그가 있었다. parser.js에는 --runs, --maxSeconds, --parallel에 대한 범위 검증을 추가해서 음수나 0이 들어오면 즉시 RangeError를 던진다. T-CV5~T-CV8 테스트 4개로 edge case를 모두 커버했다.
SmartBot._detectGenre()는 _resolveHint와 완전히 동일한 로직이라 과감히 삭제했다. 12줄 감소. S-4, S-5 테스트로 _decideDefault와 _decideTower 하락 트렌드 경로 커버리지도 확보했다.
// || → ?? 로 falsy 값 버그 수정
const optRuns = args.opt.runs ?? 50;
const optIter = args.opt.iter ?? 20;
// 범위 검증 추가
if (!Number.isInteger(runs) || runs < 1) {
throw new RangeError(`--runs 범위 오류: 1 이상의 정수여야 합니다`);
}테스트 274→280개 통과. ||와 ?? 차이는 매번 헷갈리는데 이번에 확실히 체득했다.