블로그 이미지
한국IT전문학교 게임프로그래밍 2018년 졸업생 / 배우고 익히고 정리하는 곳 무명의 공룡

카테고리

분류 전체보기 (133)
Unity (5)
AR / VR (8)
홀로렌즈2 (2)
Unity 3D 액션 게임 제작 (2)
정리 (9)
소소한 배움 (6)
그외 (7)
비공개 (56)
--이전 프로젝트들-- (0)
Tree-sha (팀 3D) (9)
Icicle Game (2D) (19)
MMD RPG (3D) (9)
Total
Today
Yesterday

달력

« » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

공지사항

오래전부터 타인을 위한 코드를 짜기 위해 공부했지만 항상 고민이었던 것은 변수와 메서드의 작명.


변수들과 메서드... 어디서 주워 들은건 있어서 어설프게 따라하고 있지만 혼자 작업하는 경우가 대부분이다 보니 간혹 망각하기도 하고 유니티의 경우 public 변수의 이름을 나중에 변경하면 다른 변수로 인식하고 엔진에서 링크해둔 부분들이 전부 해제되서 다시 링크를 걸어주어야 하기에 프로젝트가 어느정도 진행됐다면 변경을 시도 하려는 마음을 먹기도 쉽지 않다.


가장 좋은 방법은 애초에 신경써서 만드는 것이긴 한데...


여러가지 책과 강의들을 보고 듣다보면 작명 방식이 비슷한 부분도 있고 천차만별인 부분도 있다.


공통점은 다음과 같다.


 - 모든 부분에서 띄어쓰기가 들어가야 할 자리에는 띄어쓰기 대신 그 자리의 글자를 대문자로 쓴다. ex)toString

 - 언더바를 쓰긴 하는데 define이나 상수를 선언할만 쓴다. 그리고 이 경우엔 모든 글자를 대문자로 쓴다. ex)MAX_COUNT

 - 위 조건을 충족하며 변수의 경우엔 맨 앞 글자를 소문자로 쓴다. (이걸 카멜 표기법이라고 한다.)

 - 마찬가지로 위 조건을 충족하며 메서드의 경우엔 맨 앞 글자도 대문자로 쓴다. (이걸 파스칼 표기법이라고 한다)


여기까지는 아마 어지간한 프로그래머는 다 지키지 않을까 싶다.


유니티에서도 이런 것을 알고 있는지 맨 앞 글자가 소문자여도 인스펙터 창에는 대문자로 표시되고 중간중간 대문자가 섞여 있으면 띄어쓰기를 해준다.



근데 중요한건 차이점이다.


어디서는 현재의 내가 쓰듯 대부분 짧게 지어지거나 줄여서 쓴다. retval(리턴값), index, count 등..


당장 예제 하나 만들고 말때는 써도 상관 없겠지만 그게 누적되어 현재의 내가 된거 같다. 미리 습관을 들였어야 했는데.. 


학교에서 어떤 교수님은 for문에서 흔히 i로 쓸 부분도 전부 상세한 변수명으로 작성하신다. 그런 교수님이 여태까지 한 분이어서 당시에는 그렇게까지 할 필요가 있나 하는 의문이 있었지만 지금은 더 옳을지도 모른다는 생각이 든다.


위와 같은 작명은 단기적으로는 아무 문제 없지만 장기적으로 보면 큰 문제가 생긴다.


index를 쓰는 곳이 두 곳 이상이라면? 그래서 이름 바꾸기 기능을 이용하려는데 index라는 글자가 겹쳐서 모두 변환을 할 수 없다면? 


이런 문제가 나중에 커져서 발생하거나 특히 유니티에서 public으로 잘 쓰고 있던게 이러면 정말 끔찍하지 않을 수 없다.



그리고 꽤 많이 본 것은 변수명 앞에 타입을 달아두는게 아닐까 싶다.


지금 보고 있는 인강에서는 전역변수의 경우 앞에 m_을 단다고 한다. 그리고 int형은 n, float형은 f 이런식으로 형까지 달고 사용한다.


듣다보면 옳은 것도 같다. 


하지만 중요한 것은 이 영상은 2012년에 찍은 거라는 것이다.


찾아보니 예전에는 실제로 저런식으로 많이 썼다고 하는데 요즘엔 또 아니라고 한다.


관련하여 찾다보니 이미 누가 정리해둔 글이 있다.


http://wipis.tistory.com/30


이것도 2015년 글이라 조금 오래 되긴 했지만 더 찾아봐도 이 글에서 크게 벗어나지 않은 것으로 보아 현재까지는 저 규칙을 사용하는 것 같다.




변수든 메서드든 항상 완벽한 작명을 하는 것은 무리일지도 모르겠지만 적어도 이미 규칙이 있다면 그것을 따르기만 해도 절반은 먹고 간게 아닐까?


boolean 형을 쓸때 지금의 나처럼 on을 막 앞에 붙였다 뒤에 붙였다 할게 아니라 확실하게 is로 통일하면 앞으로 나도 괜히 헷갈릴 일 없고 추후를 대비해서도 도움이 될 것이다.


오늘도 공부하자

Posted by 무명의 공룡
, |