우선, 설계 초기 단계에서 클래스, 자료구조, 메서드 등을 구체적으로 정리해두지 않아서 이후 충돌, 불필요한 참조, 코드 분량 조절 실패 등의 문제가 발생했다.
또한 위 목록처럼 미구현된 기능이 많아, 완성도 있는 결과물을 만들지 못한 점도 아쉽다.
맵이나 좌표 등을 하드코딩한 점도 아쉬웠다. 기능을 처음 구현할 때 편하게 하기 위해 맵이나 좌표를 하드코딩한 후 추후에 확장하려 하였으나, 해당 기능을 참조하는 코드들이 늘어날 수록 쉽게 변경할 수 없어지는 점을 깨닫게 되었다.
프로그램을 설계할 때 상속, 클래스, 자료구조, 메서드 등을 구체적으로 설계하고 얼마나 걸릴지 예상을 한 후 시작하는 것이 꼭 필요하다고 느꼈다.
Addon 클래스를 만들 때, 필드와 생성자에서 단순히 string 타입으로 타입 정보를 설계했었는데, 추후 오타가 발생하였지만 찾는 것이 까다로웠다. 이를 통해 enum을 잘 활용하여 때 컴파일 단계에서 오타를 찾아내거나 유지보수적인 장점을 챙겨야겠다고 생각했다.