Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
개요
리팩토링 대상
1. Lexer.next와 Lexer.peek 개선
개선 내용:
peek에서 backup 호출을 제거하여 불필요한 상태 변경 방지.
next와 peek의 종료 조건을 명확히 표현.
이유:
상태 변경 없이 입력 값을 확인하도록 개선하여 함수 호출의 부작용 제거.
더 읽기 쉬운 조건문으로 변경.
2. skipSpaces와 반복 제어 개선
개선 내용:
for 루프에서 조건문을 분리하여 코드의 의도를 명확히 함.
이유:
반복 조건과 종료 조건을 분리하여 디버깅과 유지보수를 용이하게 함.
3. lexKeywordOrIdentifier 리팩토링
개선 내용:
불필요한 Loop 라벨 제거.
switch 문을 활용하여 조건 처리를 더 간결하게 변경.
이유:
코드 가독성을 높이고, 불필요한 제어 흐름 제거.
4. 에러 처리 로직 개선
개선 내용:
에러 메시지 생성 과정을 변수로 분리.
이유:
에러 메시지를 로깅하거나 디버깅 시 더 명확히 사용 가능.
테스트 유뮤