오늘은 명명규칙에 대해 알아보겠습니다!
명명규칙이란?
프로젝트를 진행할 때 개발 생산성과 운영의 효율을 높이기 위해 지켜야 하는 규칙입니다. 보통 팀에서 정한 규칙을 따른 거거나 정한 규칙이 없으면 언어 자체 규칙을 따르기도 합니다.
왜 필요한가?
예를들어 협업을 한다고 생각해봅시다.
협업을 하던 도중 변수명이 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");
}
이것으로 글을 마치도록 하겠습니다.
명명규칙을 잘 지키는 것은 매우 중요하니 주의해가며 코드를 작성합시다!!
궁금한 부분이나 부족한 부분이 있으면 댓글 달아주세요!
빠르게 답장드리도록 하겠습니다!!
'개발 팁' 카테고리의 다른 글
UGUI에 대해 알아보ㅈㅏ! (0) | 2022.10.13 |
---|---|
유니티 라이프 사이클(Life Cycle)에 대해 알아보ㅈㅏ! (0) | 2022.10.10 |
깃허브에 유니티 프로젝트를 올려보ㅈㅏ!(깃 설치하기) (0) | 2022.10.04 |