네온 루트 프로젝트를 진행하며,

팀장 역할을 맡아 프로젝트의 개발 일정과 작업 분배, 팀원 간 진행 상황을 조율하며 팀 단위의 개발 과정을 주도 해보는 경험을 쌓을 수 있었습니다.

개발에 있어 기능 구현을 넘어 유지보수성과 협업을 고려한 코드 구조와 설계에 대해 본격적으로 고민하게 되었습니다. 여러 시스템이 연결되고 프로젝트의 규모가 커지는 과정에서 객체의 책임과 의존성, 상태 및 데이터 관리 방식이 코드의 확장성과 안정성에 미치는 영향을 경험했습니다.

또한 Pull Request 과정에 코드 리뷰를 필수적인 개발 절차로 적용하며, 다른 개발자의 코드를 직접 읽고 구현 의도와 구조를 파악해 피드백을 주고받는 경험을 쌓았습니다. 이를 통해 단순히 자신의 기능을 완성하는 것을 넘어, 다른 개발자가 이해하고 수정하기 쉬운 코드를 작성하고 서로의 코드를 함께 개선하는 협업 방식의 중요성을 배웠습니다.


리팩토링 리스트

스크립트 대상 개선 완료
InventoryManager 카드 효과 적용부 Elements[] 상수 범위 순회 → foreach
InventoryManager new int[3], (indext + 1) % 3 상수 제거 후 변수로 컨트롤
LevelCardUI UI Element 3개 고정 ‘’
카드 시스템 cardId +- 1 로 업그레이드 SO 에 Upgrade 관계 명시
카드 시스템 switch 부분 하드코딩 Strategy/Data-driven 구조로 변경
Player 참조 transform.Get 및 FindWithTag 명시적 참조/컴포넌트 탐색으로 변경
EXPManager 전체 안 쓰이니 삭제
PlayerStat Enemy 충돌 판정 LayerMask 비트 연산으로 변경
PlayerStat StatDic 공개 공개하지 말고 함수로 처리
GameTime Time 및 GameTime 어디에 쓰이는지 명시적 분류 후 수정
Pixel 32 를 상수로 쓰고 있는 거 상수 캐싱 해서 공통적으로 관리하기
각 Manager 싱글톤 및 개방 데이터 데이터 및 상태에 대한 책임/결합도 분리
각 Manager public 데이터 외부에서 직접 값 변경X, 함수로 반환하기
각 Event OnCreditChanged, OnProtocolChanged 구독 해제
전체 사용되지 않는 필드, 접근제한자 정리 및 주석 개선
전체 그 외 매직 넘버들,, SerializeField/SO/상수 로 빼기

개인적인 개선점

작업 처리 부문

코드 부문