# 분석도구 v2 디렉토리 정리 보고서 **정리 일자**: 2025-10-27 **작업자**: AI-assisted Development Team --- ## 📊 정리 요약 ### 정리 전 - **총 파일 수**: 26개 (Python 스크립트 24개 + 문서 1개 + 불필요 파일 1개) - **상태**: 파일이 과도하게 많아 핵심 스크립트 찾기 어려움 ### 정리 후 - **메인 디렉토리**: 4개 핵심 스크립트 + 1개 문서 - **utils/**: 2개 유틸리티 스크립트 + README - **archive/**: 19개 과거 스크립트 + README - **삭제**: 1개 불필요 파일 (nul) --- ## 📁 최종 디렉토리 구조 ``` 분석도구/v2/ ├── config.py # ⭐ 설정 파일 ├── extract_stalker_data_v2.py # ⭐ 데이터 추출 ├── generate_stalker_docs_v2.py # ⭐ 문서 생성 ├── validate_stalker_data.py # ⭐ 검증 ├── 장기과제_Blueprint변수검증.md # 📋 장기 계획 문서 │ ├── utils/ # 🔧 유틸리티 도구 │ ├── list_asset_types.py # Asset 타입 목록 │ ├── list_datatables.py # DataTable 목록 │ └── README.md # 유틸리티 가이드 │ └── archive/ # 📦 과거 개발 스크립트 ├── check_baran_clad_skills.py # 바란/클라드 검증 ├── check_bp_vars.py # Blueprint 변수 ├── check_bp_verification.py # Blueprint 검증 ├── check_character_ability.py # Character Ability 1 ├── check_character_ability2.py # Character Ability 2 ├── check_character_ability3.py # Character Ability 3 ├── check_data.py # 데이터 구조 ├── check_first_asset.py # Asset 구조 ├── check_improvements.py # 개선사항 검증 ├── check_json_structure.py # JSON 구조 ├── check_lian_skills.py # 리안 스킬 1 ├── check_lian_skills2.py # 리안 스킬 2 ├── check_montage_names.py # 몽타주 이름 ├── check_send_event_notify.py # SendEvent 노티파이 ├── check_sk150201.py # SK150201 분석 ├── check_skill_structure.py # 스킬 구조 ├── investigate_projectile.py # 투사체 조사 ├── verify_improvements.py # 개선사항 검증 1 ├── verify_improvements_v2.3.py # 개선사항 검증 2 └── README.md # 아카이브 설명서 ``` --- ## 🎯 정리 효과 ### 1. 가독성 향상 - **정리 전**: 26개 파일이 한 디렉토리에 혼재 - **정리 후**: 5개 핵심 파일만 메인에 노출 - **효과**: 새로운 개발자가 즉시 핵심 스크립트 파악 가능 ### 2. 유지보수성 향상 - **정리 전**: 비슷한 이름의 스크립트 다수 (check_character_ability 3개) - **정리 후**: 역할별로 명확히 분리 (메인/유틸/아카이브) - **효과**: 수정 필요 시 올바른 파일 즉시 식별 ### 3. 프로젝트 구조 명확화 - **메인**: 실제 분석 파이프라인 (추출 → 검증 → 문서화) - **utils**: 데이터 탐색 도구 - **archive**: 개발 과정 기록 - **효과**: 각 스크립트의 목적과 사용 시점 명확 --- ## 🔄 분석 파이프라인 실행 방법 ### 기본 실행 (간단) ```bash # 1단계: 데이터 추출 python extract_stalker_data_v2.py # 2단계: 검증 python validate_stalker_data.py # 3단계: 문서 생성 python generate_stalker_docs_v2.py ``` ### 유틸리티 사용 ```bash # DataTable 목록 확인 python utils/list_datatables.py # Asset 타입 확인 python utils/list_asset_types.py ``` ### 아카이브 스크립트 참고 ```bash # 특정 스킬 분석이 필요한 경우 # archive/check_sk150201.py를 참고하여 작성 cat archive/check_sk150201.py ``` --- ## 📋 파일별 역할 상세 ### ⭐ 메인 스크립트 (4개) #### config.py - **역할**: 전역 설정 및 상수 정의 - **주요 내용**: - 데이터 경로 (`DATA_DIR`, `OUTPUT_DIR`) - 스토커 목록 및 정보 (`STALKERS`, `STALKER_INFO`) - 공격 스킬 판정 기준 (`ATTACK_NOTIFY_KEYWORDS`) - DoT/소환 스킬 정의 (`DOT_SKILLS`, `SUMMON_SKILLS`) - **수정 빈도**: 낮음 (새 스토커 추가 시) #### extract_stalker_data_v2.py - **역할**: JSON에서 스토커 데이터 추출 - **입력**: `DataTable.json`, `Blueprint.json`, `AnimMontage.json` - **출력**: `intermediate_data.json` - **주요 기능**: - DT_CharacterStat, DT_CharacterAbility, DT_Skill 추출 - AnimMontage 매칭 및 공격 노티파이 판정 - 소환체 데이터 생성 - **수정 빈도**: 중간 (데이터 구조 변경 시) #### validate_stalker_data.py - **역할**: 추출된 데이터 검증 - **입력**: `intermediate_data.json` - **출력**: `validated_data.json`, `검증_리포트.md` - **주요 기능**: - 스탯 합계 검증 (75) - 스킬 데이터 완전성 확인 - 몽타주 매칭 여부 확인 - **수정 빈도**: 낮음 (검증 규칙 추가 시) #### generate_stalker_docs_v2.py - **역할**: 마크다운 문서 생성 - **입력**: `validated_data.json` - **출력**: `03_스토커별_기본데이터_v2.md` - **주요 기능**: - 스토커별 기본 정보 포맷팅 - 스킬 상세 정보 생성 - DoT/소환체 섹션 생성 - **수정 빈도**: 중간 (문서 포맷 변경 시) ### 🔧 유틸리티 스크립트 (2개) #### utils/list_datatables.py - **용도**: DataTable.json의 모든 테이블 목록 출력 - **사용 시점**: 새로운 DataTable 추가 여부 확인 #### utils/list_asset_types.py - **용도**: AnimMontage.json의 Asset 타입 분포 확인 - **사용 시점**: 데이터 구조 변경 탐지 ### 📦 아카이브 스크립트 (19개) **분류별 개수**: - 스킬 검증: 4개 (baran_clad, lian x2, sk150201) - 데이터 구조: 4개 (json, first_asset, data, skill) - Character Ability: 3개 (버전 1, 2, 3) - AnimMontage/Notify: 3개 (montage_names, send_event, projectile) - Blueprint: 2개 (bp_vars, bp_verification) - 개선사항 검증: 3개 (improvements, verify x2) **재사용 가능성**: 높음 (유사한 문제 발생 시 템플릿으로 활용) --- ## 🗑️ 삭제된 파일 - **nul**: 불필요한 빈 파일 --- ## ✅ 검증 결과 ### 정리 후 파이프라인 테스트 ```bash # 전체 파이프라인 실행 결과 ✅ extract_stalker_data_v2.py: 정상 동작 ✅ validate_stalker_data.py: 100% 통과 (109개) ✅ generate_stalker_docs_v2.py: 문서 생성 완료 ``` ### import 경로 확인 - **config.py**: 절대 경로 사용, 이동 영향 없음 ✅ - **유틸리티 스크립트**: 독립 실행 가능 ✅ - **아카이브 스크립트**: 참고용, 실행 불필요 ✅ --- ## 📝 권장 사항 ### 1. 디렉토리 구조 유지 - 새로운 스크립트는 역할에 따라 적절한 위치에 추가 - 일회성 스크립트는 즉시 archive/로 이동 ### 2. README 업데이트 - 새 유틸리티 추가 시 `utils/README.md` 업데이트 - 중요한 아카이브 스크립트 추가 시 `archive/README.md` 업데이트 ### 3. 아카이브 정리 - 6개월~1년 후 archive/ 디렉토리 재검토 - 완전히 불필요한 스크립트 삭제 고려 ### 4. 네이밍 규칙 - 메인 스크립트: `{동사}_stalker_{기능}_v2.py` - 유틸리티: `{동사}_{대상}.py` - 아카이브: 기존 이름 유지 (히스토리 보존) --- ## 🎉 결론 분석도구 v2 디렉토리 정리가 성공적으로 완료되었습니다. **개선 효과**: - ✅ 핵심 스크립트 가시성 80% 향상 (26개 → 5개) - ✅ 프로젝트 구조 명확화 (3계층 분리) - ✅ 유지보수성 향상 (README 및 분류 체계) - ✅ 파이프라인 실행 검증 완료 앞으로 이 구조를 유지하면서 개발을 진행하면 훨씬 효율적인 작업이 가능할 것입니다. --- **작성자**: AI-assisted Development Team **정리 완료일**: 2025-10-27