명명규칙의 중요성

요즘 간단하게 끝날 것이라 착각했던 슈팅 게임을 만들고 있다.

오늘은 플레이 도중에 얻은 경험치를 담는 변수 progressValue가 플레이를 재시작하면 0으로 리셋되는 문제가 있었다.

플레이가 시작되면 기존의 progressValue를 Local Storage에서 불러오는 코드가 있었는데 작동을 안하는 것이다. 불러오는 시점에 문제가 있나 싶어 실행위치를 이리저리 바꿔 봤지만 답은 엉뚱한 곳이 있었다.
글로벌변수 rankProgressValue와 Local Storage의 rankValue를 헷갈려서 rankValue를 불러와야 되는데 rankProgressValue를 불러왔던 것이다. 실수로 만들어지는 버그의 많은 경우가 게임내 변수와 데이터의 이름을 정하는 규칙 즉 naming convention이 부실하거나 지키지 않아서 일어나는데 이번 경우도 마찬가지였다. 테드창의 “일흔 두 글자”를 읽고 이름의 신성함과 힘에 대해서 다시 한번 생각해본적 있다. 이름은 결코 간단한 것이 아니다. 정체성, 구분, 체계와 같은 구조적 의미들을 담아내는 역할을 한다. 개발에 있어서도 가장 소중히 해야할 가치라 해도 과언이 아닐것이다.

Leave a Reply

Your email address will not be published.