[25.07.08] TIL( 팀프로젝트 - 코드 리팩토링 진행)

설민우·2025년 7월 8일

내일배움캠프 - Unity

목록 보기
72/85

✅ PlayerController 리팩토링

  • Update() 내 테스트 입력 처리 분리 → HandleTestInputs() 메서드로 이동
  • OnSkillS/D/F() → 공통 메서드 HandleWeaponSkill(SkillSlot, InputValue)로 통일
  • equippedWeapon 캐싱 사용하여 접근 최소화
  • Awake() 내부 초기화 함수 역할별 분리 (InitializeReferences, InitializeMovement, InitializeJumpFeedback)
  • 전체적인 가독성 향상, 입력 처리 및 확장성 강화

✅ PlayerWeaponHandler 리팩토링

  • SwapWeapon() 내부 책임을 다음 함수로 분리:
    • HandleFusionBreak()
    • UpdateElementInfo()
    • EquipNewWeapon()
  • isDestory 오타 → isDestroy로 수정
  • ?. 제거 (null 체크가 이미 선행됨)
  • OnTriggerExit2D에서 ReferenceEquals 및 null 체크 추가로 안정성 향상

✅ PlayerMovement 개선

  • localScale는 실제 변경 필요할 때만 갱신 (Mathf.Approximately 활용)
  • 이동 처리와 방향 반영 책임 분리:
    • ApplyMovement()
    • ApplyFacingToScale()
  • 가독성과 성능 모두 개선

✅ PlayerJump 개선

  • TryJump() → 조건 분기 명확화 (PerformJump() 함수로 분리)
  • CheckGround() → 플랫폼 검사 간소화 (isEffector 플래그 활용)
  • ResetInputs()는 MoveInput까지 초기화해 의미 강화
  • IgnoreCollision() 호출 전 현재 상태 체크하여 불필요한 호출 방지

💾 비고

  • 전체적으로 기능 분리, 책임 최소화, 유지보수성 향상을 목표로 구조 개선
  • .mp 파일은 벨로그 업로드용으로 제작
profile
클라이언트 개발자를 지망하고 있습니다.

0개의 댓글