Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

139-lex-refactoring #140

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

139-lex-refactoring #140

wants to merge 4 commits into from

Conversation

sonjeongwons
Copy link
Contributor

개요

  • 코드의 품질을 개선하면서 기존 테스트 코드를 모두 통과하도록 리팩토링 진행하였음
  • 제공된 테스트 케이스와 코드를 기반으로 리팩토링한 주요 변경 사항과 이유를 설명

리팩토링 대상

1. Lexer.next와 Lexer.peek 개선
개선 내용:
peek에서 backup 호출을 제거하여 불필요한 상태 변경 방지.
next와 peek의 종료 조건을 명확히 표현.
이유:
상태 변경 없이 입력 값을 확인하도록 개선하여 함수 호출의 부작용 제거.
더 읽기 쉬운 조건문으로 변경.

2. skipSpaces와 반복 제어 개선
개선 내용:
for 루프에서 조건문을 분리하여 코드의 의도를 명확히 함.
이유:
반복 조건과 종료 조건을 분리하여 디버깅과 유지보수를 용이하게 함.

3. lexKeywordOrIdentifier 리팩토링
개선 내용:
불필요한 Loop 라벨 제거.
switch 문을 활용하여 조건 처리를 더 간결하게 변경.
이유:
코드 가독성을 높이고, 불필요한 제어 흐름 제거.

4. 에러 처리 로직 개선
개선 내용:
에러 메시지 생성 과정을 변수로 분리.
이유:
에러 메시지를 로깅하거나 디버깅 시 더 명확히 사용 가능.

테스트 유뮤

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant