Files
DS-Combat_analy/legacy/분석도구/v2/정리_보고서.md
2025-11-05 11:09:16 +09:00

7.9 KiB

분석도구 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: 개발 과정 기록
  • 효과: 각 스크립트의 목적과 사용 시점 명확

🔄 분석 파이프라인 실행 방법

기본 실행 (간단)

# 1단계: 데이터 추출
python extract_stalker_data_v2.py

# 2단계: 검증
python validate_stalker_data.py

# 3단계: 문서 생성
python generate_stalker_docs_v2.py

유틸리티 사용

# DataTable 목록 확인
python utils/list_datatables.py

# Asset 타입 확인
python utils/list_asset_types.py

아카이브 스크립트 참고

# 특정 스킬 분석이 필요한 경우
# 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: 불필요한 빈 파일

검증 결과

정리 후 파이프라인 테스트

# 전체 파이프라인 실행 결과
✅ 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