리팩토링을 하게 된 이유

기존에 작성 중인 코드는 하나의 클래스가 게임의 진행 전체를 담당하는 방식으로 작업하고 있었는데,

이러한 방식으로 하나의 클래스에 많은 기능을 추가하면 나중에 팀 프로젝트로 작업할 때 Conflict가 많이 발생하지 않을까 하는 생각이 들었다.

그래서 각각의 기능별로 클래스를 분리하는 방향으로 리팩토링을 진행했다.

기존의 코드


리팩토링 과정

이 긴 코드를 처음 봤을 땐 리팩토링을 어떻게 해야할 지 눈 앞이 캄캄했다.

**클래스 분리

게임 매니저에서 GameStart -> Login -> Data 초기화

Lobby 클래스에서 로비화면 (상태, 인벤토리, 상점 클래스 호출)

1. 상태
2. 인벤토리
3. 상점**

일단 메모장에 내가 구현하고자 하는 클래스의 흐름을 순서대로 정리하고 작업을 시작했다.

Untitled

이런식으로 기능별로 클래스를 분리했고, 폴더에 정리했다.