Skip to content

[Refactor] 분석 파이프라인 내부 구조 개선 및 잔재 정리 + 주석 정리 #122

Description

@pearseona

🏷️ 이슈 유형

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • refactor : 동작 변경 없는 구조 개선
  • docs : README 등 문서 추가/수정
  • chore : 설정, 빌드, 의존성 패키지 변경
  • 기타 : 설명 추가 작성

💡기능

분석 파이프라인 코드의 동작 변경 없이 내부 응집도를 개선한다.
폴더/기능 분리 자체는 이미 잘 되어 있으나(analysis · chat · infrastructure · core), 일부 파일 내부에 책임 과다·죽은 코드·타입 없는 딕셔너리·잔재 폴더가 남아 있어 가독성과 테스트 용이성을 떨어뜨린다.
이번 리팩토링으로 이를 한 번에 정리한다.

🛠️할 일 목록

  • analyze_pipeline을 책임 단위 사적 메서드로 분해: _run_tracks()(텍스트/URL 병렬 실행·형제 task 취소), _run_rules(), _assess_track_availability(), _apply_confirmed_malicious_boost(), _assemble_success_response(), _build_failure_response()
  • 분해 후 analyze_pipeline은 흐름 조립만 담당하도록 축소 (동작·반환값 불변)
  • 미사용 메서드 scan_message_text 및 관련 죽은 경로 제거
  • hybrid_url_result / rule_result 딕셔너리를 내부 결과 모델(@DataClass 또는 pydantic)로 승격하고 .get() 접근 정리
  • 잔재 빈 폴더 4개(app/dto, app/router, app/service, app/utils) 제거
  • 기존 테스트(tests/analysis/test_service.py 등) 무수정 통과로 행위 보존 확인, 커버리지 부족 구간엔 특성화(characterization) 테스트 보강

📌 참고 사항 / 제약 조건

  • 행위 보존이 최우선. 입력→출력, 점수/등급, 예외 시 fail-safe(MEDIUM 폴백) 동작이 바뀌면 안 됨. 리팩토링과 기능 변경을 절대 섞지 않는다.
  • 로깅/PII 불변식 유지. 원문 메시지·예외 메시지를 로그/응답에 남기지 않는 현재 규칙을 그대로 보존.
  • 운영 핵심 경로(RabbitMQ consumer → analyze_pipeline)라 리스크가 큼 → 작은 커밋 단위로 쪼개고 각 커밋마다 테스트 그린 유지.
  • 폴더 재배치형 대공사는 범위에서 제외(현 feature-first 구조 유지).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

refactorCode changes that neither fix a bug nor add a feature

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions