Skip to content

♻️[리팩터링][전역] 900줄 이상 대형 파일 5개 동작 불변 위젯 추출 분해 #937

Description

@Cassiiopeia

📝 현재 문제점

  • 900줄 이상 대형 파일이 5개 존재해 가독성·리뷰·수정 안정성이 떨어진다 (2026-07-27 진단, main @ v1.10.105):
    1. lib/screens/item_detail_description_screen.dart — 1,131줄
    2. lib/screens/chat_room_screen.dart — 1,065줄
    3. lib/widgets/home_tab_card_hand.dart — 1,039줄
    4. lib/widgets/register_input_form.dart — 948줄
    5. lib/screens/request_management_tab_screen.dart — 907줄
  • 파일이 커질수록 한 화면에 UI·상태·헬퍼가 뒤섞여 수정 시 사이드이펙트 위험이 커진다.

🛠️ 해결 방안 / 제안 기능

  • 동작 불변 위젯 추출: private 빌더 메서드/대형 build 블록을 별도 위젯 파일로 이동. 상태 로직(setState·provider 연동)은 건드리지 않고 순수 UI만 추출한다.
  • 파일당 목표 500줄 이하, 추출 위젯은 lib/widgets/<화면명>/ 하위로 그룹화.
  • 파일 1개 = 커밋 1개 단위로 진행해 리뷰·롤백을 쉽게 한다.
  • 파일별 분해 단위는 구현 plan 단계에서 각 파일을 읽고 확정한다.
  • 선행 이슈(스타일 규칙 정리) 머지 후 진행 — 추출 위젯이 처음부터 규칙 준수 상태가 되도록.
  • 상세 설계: docs/superpowers/specs/2026-07-27-codebase-quality-improvement-design.md (서브프로젝트 B)

⚙️ 작업 내용

  • item_detail_description_screen.dart 분해 (1,131줄 → 500줄 이하)
  • chat_room_screen.dart 분해 (1,065줄 → 500줄 이하)
  • home_tab_card_hand.dart 분해 (1,039줄 → 500줄 이하)
  • register_input_form.dart 분해 (948줄 → 500줄 이하)
  • request_management_tab_screen.dart 분해 (907줄 → 500줄 이하)
  • 각 파일 분해 후 dart format + flutter analyze 통과 및 화면 스모크 확인

🙋‍♂️ 담당자

  • 백엔드: 이름
  • 프론트엔드: @Cassiiopeia
  • 디자인: 이름

Metadata

Metadata

Assignees

Labels

작업전작업 시작 전 준비 상태

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions