Skip to content

refactor(normalizer): TextNormalizer를 Normalizer 상속에서 분리 (#257) - #274

Merged
lovit merged 1 commit into
refactor-2026from
feature/257
Mar 10, 2026
Merged

refactor(normalizer): TextNormalizer를 Normalizer 상속에서 분리 (#257)#274
lovit merged 1 commit into
refactor-2026from
feature/257

Conversation

@lovit

@lovit lovit commented Mar 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Normalizer 클래스를 ABC로 전환하고 normalize()@abstractmethod로 명시
  • TextNormalizer에서 Normalizer 상속 제거 — 여러 normalizer를 조합하는 컴포지트 패턴임을 클래스 계층으로 명확히 표현
    • __call__, normalize 메서드를 직접 구현
    • normalizer_list 타입 힌트 list[Callable[[str], str]]으로 명시화

Background

TextNormalizer는 개별 정규화 규칙을 구현하는 Normalizer가 아니라, 여러 normalizer를 순차 적용하는 컴포지트이다. 이를 Normalizer로부터 분리하여 의미적 명확성을 높인다.

Closes #257

Test plan

  • uv run pytest tests/unit/test_normalizer.py — 17 passed
  • uv run pre-commit run --all-files — all passed

🤖 Generated with Claude Code

- Normalizer: ABC로 전환, normalize()를 @AbstractMethod로 명시
- TextNormalizer: Normalizer 상속 제거 — 컴포지트 패턴 역할 명확화
  - __call__, normalize 메서드 직접 구현
  - normalizer_list 타입 힌트를 list[Callable[[str], str]]로 명시
- 동작 변경 없음, 기존 import 경로 그대로 유지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lovit
lovit merged commit 2fcca74 into refactor-2026 Mar 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant