2015년 5월 23일 토요일

[Unity 3D]이름 짓기(명명법, 네이밍 규칙)

Unity에서 네이밍에 관한 규칙을

통일해서 사용하는 것이 좋습니다.

아래글은 유니티권장사항에 나타나있는

것을 요약해보았습니다.

우리가 일반적으로 프로그래밍을 할 때

가장 중요하게 생각해야하는 것이

가독성, 일관성, 정확성, 들여쓰기입니다.

따라서 일관성있는 네이밍 규칙을 정립해서

사용할 필요가 있습니다.

네이밍 규칙을 우리가 지켜서 사용해야하는

그 이유는  다음과 같다고 말하고 있습니다.


  • Reduce the number of coding errors you make
  • Make your code more readable to someone else who looks at it
  • Make your code make more sense to you when you come back to it after a month or two
  • Reduce the need to create masses of documentation by self documenting your code

1. 대원칙
 가. 모든 네이밍은 카멜(낙타)방식을 사용한다. 
    즉, 소문자로 시작하든 대문자로 시작하든
    새로운 단어를 붙일 때는 대문자를 사용해서 연결한다. 
  나. 동사가 제일 앞에 오도록 이름을 짓는 것이
       동작을 더 명확하게 규정할 수 있다.
  다. 자신을 가리키는 this라는 키워드를 사용하는 것이 좋다.

2. 변수명
가. 첫글자는 소문자로 시작할 것
나. 길이에 상관없이 의미있는 이름으로 지을 것
  ex) endPosition, pathStepVector, isAlive 등
다. 메소드안의 지역변수는 _(언더바)를 붙여 구분하여 

     사용하는 것이 좋다.


3. 클래스 : 첫글자는 반드시 대문자로 시작할 것

4. 속성 :  첫글자는 대문자로 시작할 것(.NET 규칙에 의거)
   필드 : 첫글자는 소문자로 시작할 것(변수이기 때문에...)

5. 메소드 : 첫글자를 대문자로 시작할  것

6. 매개변수 : 첫글자를 소문자로 사용할 것 
   - 함수에서 사용하는 값을 전달할 때 괄호안에 사용하는 변수

7. 열거체와 상수 : 이름 전체를 대문자로 사용한다.

c#이나 java와 같이 완전한 객체지향프로그래밍에서는

헝가리언 표기법을 사용하지 않는다. 
사실 반환 값보다는 가독성이 더 중요하기때문에
- 가독성을 방해한다는 의견이 많다.
- c++에서는 아주 유용한 방식이었음(변수형이 워낙 많아서...)