[P2] [리팩터링] 누적된 임시 로직 정리 및 중복 코드 제거 #14
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
배경
최근 작업을 대화 기반으로 빠르게 이어가면서 기능 수정이 우선되었고, 그 과정에서 코드가 점점 복잡해지고 있습니다.
현재 체감 문제:
이 이슈에서 말하는 작업
쉽게 말하면
코드 정비,코드 정리,리팩터링에 해당합니다.구체적으로는:
왜 필요한가
우선 정리 대상 후보
frontend/public/app.jslegacy/static/organization.jsbackend/app/main.py완료 조건
#14를 단순 코드 포맷 정리가 아니라8081전체 구조 정리 이슈로 확장해서 사용해야 합니다.현재
8081구동 경로를 다시 읽어본 결과, 프런트만이 아니라 백엔드까지 함께 정리해야 할 상태입니다.핵심 진단:
frontend/public/index.html이 허브 엔트리인데 로그인, 허브, iframe 연결, asset version 쿼리스트링이 한 파일에 섞여 있음frontend/public/styles.css)과8081전용 디자인 오버라이드가 뒤섞이기 쉬운 상태였고, 최근에야styles-8081-design.css로 분리 시작함legacy/static/common.css,legacy/static/organization.css,legacy/static/organization.js가 조직현황 UI/동작/디자인을 함께 떠안고 있음incoming-files/payment.html,incoming-files/mh.html는 실제 서빙 파일이면서 동시에 원본/복구 자산 역할도 섞여 있음incoming-files아래에 참고 자산, 실제 서빙 자산, 복구 백업 자산이 함께 존재함backend/app/main.py가 인증, 멤버, 통합데이터, 업로드, 자리배치도, legacy/integration 파일 서빙까지 모두 한 파일에 과도하게 몰려 있음backend/app/db.py도 스키마 정의와 마이그레이션/보정 성격 로직이 한곳에 집중되어 있어 변경 영향 추적이 어려움scripts/prepare_dev_worktree.sh가 런타임 준비뿐 아니라 로컬 전용 자산 복제 정책까지 직접 알고 있어 책임이 큼어떤 파일이 실제로 서빙되는지를 다시 찾는 비용이 커서, 후속 작업 때 다시 꼬일 가능성이 높음정리 목표를 아래처럼 재정의하는 것이 맞습니다.
frontend/public: 허브 엔트리/공통 UI 전용frontend/public/styles.css: 8080/8081 공통 기본 스타일frontend/public/styles-8081-design.css: 8081 전용 허브 오버라이드legacy/static/*: 조직현황 레거시 전용incoming-files/*: 원본 참고 자산과 실제 서빙 자산을 분리index.html의 asset version과 iframe 연결을 한 번 정리해 기준화payment.html,mh.html는incoming-files임시 보관물이 아니라 정식 서빙 자산 위치를 다시 결정하기backend/app/main.py에서 최소한 아래 단위로 라우터/모듈 분리 검토db.py는 스키마/초기화와 운영 로직을 분리 검토prepare_dev_worktree.sh는 worktree 준비만 담당recovery백업본과 현재work-8081변경을 비교해 정식 흡수 대상만 선별권장 작업 순서:
주의:
디자인 수정 자체보다구조 정리를 우선8080승격 전까지 모든 정리는8081에서만 수행현재 기준으로 umbrella 역할은 유지하되, 즉시 착수 대상은 아님.
최근
#18,#20,#21을 통해 파일 책임, served/reference, app source 구조 정리가 선행되었고, 남은 리팩터링은 기능을 막는 임계 경로는 아님.따라서
#14는 계속 상위 정리 이슈로 두되, 당장 다음 작업보다는 후순위 정리 트랙으로 보는 것이 맞다.#14진행상황 업데이트이번 라운드 반영:
incoming-files/reference/ledger/ledger잘못 중첩된 복사본 제거incoming-files/README.md에served는 runtime, 실제 수정 원본은frontend/apps/*라는 규칙 명시incoming-files/reference/ledger/README.md추가로 reference 경계와 금지사항(reference/ledger아래 중첩 복사본 금지) 명시8081_SERVING_MAP.md에payment / mh / ledger / db-status는 직접served를 먼저 수정하지 않고frontend/apps/* -> publish -> served흐름으로 관리한다는 규칙 고정현재 판단:
다음:
#19에서 backendmain.py안에 몰린 DB 상태/서빙 보조 로직부터 작은 단위로 분리#14진행상황 업데이트이번 라운드 반영:
incoming-files/reference/ledger/ledger중첩 복사본 제거incoming-files/README.md에served는 runtime, 실제 수정 원본은frontend/apps/*라는 규칙 명시incoming-files/reference/ledger/README.md추가8081_SERVING_MAP.md에payment / mh / ledger / db-status는frontend/apps/* -> publish -> served흐름으로만 수정한다는 경계 고정현재 판단: