본문 바로가기

개발 팁

유니티에서 명명규칙과 코딩 규칙을 알아보ㅈㅏ!

오늘은 명명규칙에 대해 알아보겠습니다!

 

명명규칙이란?

프로젝트를 진행할 때 개발 생산성과 운영의 효율을 높이기 위해 지켜야 하는 규칙입니다. 보통 팀에서 정한 규칙을 따른 거거나 정한 규칙이 없으면 언어 자체 규칙을 따르기도 합니다.

 

왜 필요한가?

예를들어 협업을 한다고 생각해봅시다.

협업을 하던 도중 변수명이 A, b, aAb, asdf, LancelotsFavouriteColour 등 알아볼 수 없는 변수명이 있었고 이 변수를 만든 프로그래머는 현재 연락이 닿지 않습니다. 이러한 상황이 일어나면 곤란하겠죠? 그렇기 때문에 명명규칙을 지키며 코드를 작성하는 겁니다.

 

명명규칙

  • 카멜 케이스(camelCase) 
    • 여러 단어를 사용할 때 맨 처음 단어를 제외한 단어들의 앞글자를 대문자로 적습니다. 낙타의 봉우리와 비슷하게 생겨 단봉낙타 표기법이라고 부르기도 합니다.
  • 파스칼 표기법(PascalCase)
    • 여러 단어를 사용할 때 모든 단어의 앞글자를 대문자로 적습니다. 쌍봉낙타처럼 봉우리가 두 개라고 하여 쌍봉낙타 표기법이라고 부르기도 합니다.
  • 스네이크 표기법(snake_case)
    • 단어와 단어 사이에 _(언더바)를 넣어 표기합니다. 언더바를 넣은 모습이 기어 다니는 뱀을 닮았다고 하여 붙은 이름입니다.
  • 헝가리안 표기법(Hungarian Notation)
    • 접두어로 자료형을 붙여줍니다(예: nNumber, strStudent 등). 찰스 시모니라는 개발자가 제안한 방법인데 이 분이 헝가리 사람이어서 헝가리안 표기법이라는 이름이 붙게 되었습니다.

유니티 명명규칙

이름 명명규칙
클래스 파스칼
함수 파스칼
변수,함수 매개변수 카멜
필드(멤버 변수)* 앞에 밑줄 넣기(예: _rigidbody)
클래스의 프로퍼티, Public 멤버 변수 파스칼
파일명 파스칼 표기법, 클래스명과 이름이 같아야한다
메서드 동사 사용
멤버 변수, 속성, 지역변수 명사 사용

멤버 변수 : 클래스 안에서 클래스의 인스턴스가 존재하는 동안 유지되는 변수입니다.

지역 변수 : 함수 안에서 함수가 호출되어 실행되는 동안 일시적으로 사용되는 변수입니다.

주의점

- 변수명은 절대 한 글자로 된 이름, 약어를 사용하지 않고 변수의 의미를 담아야 합니다.

- 키워드와 비슷한 이름을 지으면 안 됩니다.(new, var 등)

- boolean 자료형의 변수, 속성, 함수(메서드)는 is, can, has 같은 접두사를 붙여야 합니다(예: isJumping, isHealth).

괄호 위치

괄호의 위치에는 크게 BSD와 K&R, GNU가 있습니다.

  • K&R
    • 여는 블록을 함수와 같은 행에 배치하는 방식입니다. 코드가 깔끔해진다는 장점을 가지고 있고 코드의 줄이 줄어들어 모양새가 좋아 보이게 됩니다.
if(a > b){
	printf("a > b");
}
  • GNU
    • 블록을 함수 아래에 작성합니다.  코드의 블록 부분을 잘 보여준다는 장점이 있긴 하지만 저는 실제로 이 방식을 사용하는 사람을 만난적이 없습니다..
if (a > b)
	{
    		print("a > b");
	}
  • BSD
    • GNU의 블록부분을 잘 보여준다는 장점과 K&R의 코드를 수평으로 많이 작성할 수 있다는 장점을 결합하였습니다. C#에선 이 방식으로 개발하도록 규정하고 있습니다.
if(a > b)
{
	print("a >b");
}

이것으로 글을 마치도록 하겠습니다.

명명규칙을 잘 지키는 것은 매우 중요하니 주의해가며 코드를 작성합시다!!

 

궁금한 부분이나 부족한 부분이 있으면 댓글 달아주세요!

빠르게 답장드리도록 하겠습니다!!