Files
brain_dogfood/docs/modularization_plan.md
T

24 lines
1.8 KiB
Markdown

# 프로젝트 추가 모듈화 및 리팩토링 계획
`memo.py` 모듈화 이후, 코드 품질 향상 및 유지보수성 확보를 위해 추가적으로 개선이 필요한 영역을 분석한 결과입니다.
## 📋 추가 모듈화 검토 대상 리스트
| 대상 영역 | 파일 위치 | 현재 상태 (Lines) | 문제점 및 개선 방향 | 우선순위 |
| :--- | :--- | :--- | :--- | :--- |
| **백엔드 코어** | `app/__init__.py` | 121 lines | `create_app` 함수에 보안, 로깅, CSP 설정이 집중됨. `app/core/`로 분리 필요. | **높음** |
| **프론트엔드 UI** | `static/js/ui.js` | 331 lines | 모든 UI 이벤트 및 렌더링이 집중된 God Object. 레이아웃과 렌더링 로직 분리 필요. | **높음** |
| **DB 스키마** | `app/database.py` | 88 lines | 연결 로직과 테이블 정의가 혼재됨. SQL 파일이나 전용 클래스로 스키마 관리 분리. | 보통 |
| **명령어 엔진** | `static/js/components/SlashCommand.js` | 352 lines | 명령어 데이터와 UI 제어 로직이 섞여 있음. 데이터 중심 구조로 개편 필요. | 보통 |
| **파일 서비스** | `app/routes/file.py` | 162 lines | `memo.py`처럼 Route에 로직이 포함됨. `FileService` 계층 신설 고려. | 보통 |
| **에디터 관리** | `static/js/editor.js` | 215 lines | Toast UI 설정과 커스텀 기능이 얽혀 있음. 플러그인 인터페이스 도입 필요. | 낮음 |
## 🛠️ 향후 작업 권고 단계
1. **1단계 (Core)**: `app/__init__.py`에서 로깅 및 보안 설정을 분리하여 서버 초기화 가독성 확보.
2. **2단계 (UI)**: `ui.js``layout.js``memos.js` 등으로 분리하여 프론트엔드 관리 효율화.
3. **3단계 (Data)**: `database.py` 내의 하드코딩된 스키마를 모델 정의 파일로 이동.
---
*작성일: 2026-04-20*