제대로 된 이름

2013-12-01

2주일간 만들던 게임 네트워크 엔진을 손봤는데, 초기 코드가 흔적도 없이 사라졌다. C#으로 메세지가 조립되면 이벤트를 호출하는 식으로 만들었는데, 이게 메소드랑 연관 객체들이 모이고 흩어지고 하다보니까 메세지 객체를 내뱉고 받아들이는 소켓 비슷한 게 되더라. 정확히는 소캣을 감싸는 그 어떤 것. 그 때 얘의 이름이 소켓으로 결정되었다. 그 전에는 UserToken, Raja, Session(으악!), MessageProcessor… 저 Raja는 드래곤 라자에서 나온 그것, 멍청하게도 이 이름을 지으면서 꽤 잘 된 이름이라고 생각했다. 중간에서 메세지를 받고 보내주고 하는 역할을 한다고 생각하면서 지었는데도 그 때는 소켓이 생각나지 않았다. 잘 된, 제대로 된 이름이라는 것은 그게 뭘 하는지, 어떤 정보를 가지고 있는지가 이름만으로 유추가 된다는 것이다. 그래서 나에겐 메세지 프로세서보다는 소켓이 와 닿았던 것이고, 이건 네트워크 프로그래밍경험이 있는 프로그래머라면 비슷하리라 생각한다. 소켓이라고 이름을 짓고 나자 무언가 정리가 되었다. 2주가 걸렸고, 그 사이에 소스코드는 좀 더 좋아지고, 이런저런 개선이 많았지만, 본질적으로 바뀐 것은 제대로 된 이름을 찾아간 것이다. 그것만으로도 전체를 조작하기가 더 편해졌다. 그래서 성경에서 신이 아담에게 만물의 이름을 지으라 했나보다.

기술 습득 패턴 .gitconfig 설정