[이득우의 언리얼 프로그래밍 Part1 필기] 2. 언리얼 C++ 코딩규칙
코딩 표준
프로그래밍을 작성하는데 지켜야 하는 프로그래밍 이름 규칙,작성 방법 등을 지정한 가이드라인
절대적으로 좋은 코딩 표준이라는 건 없다.
언리얼엔진은 자체적으로 코딩 표준을 정해 놓았음.
따라서 기존 C++ 코딩 방법을 버리고 언리얼 엔진 코딩 표준을 따라야 함
하나의 프로젝트는 한 사람이 만드는 것처럼 코딩 해야 함.
-> 유지 보수 비용 감소
파스칼 케이싱 - 첫 글자를 대문자를 사용해 명명
카멜 케이싱 - 첫 합성어는 소문자로 나머지는 대문자로
스네이크 케이싱 - 합성어 사이에 언더바(_) 를 사용해 명명
UnrealEngine
unrealEngine
unreal_engine
언리얼 엔진은 파스칼 케이싱 사용
언리얼 오브젝트를 상속받는 클래스는 U를 접두사로 붙인다. ex) UGameInstance
*예외*
Actor 상속을 받으면 접두사로 A 가 붙는다.
SWidget 상속을 받으면 접두사로 S 가 붙는다.
추상 인터페이스 클래스에는 접두사 I 가 붙는다.
불리언 변수에는 접두사 b 사용.
int 사용x
uint8, int32 많이 사용됌
기본적으로 C++ 표준 라이브러리는 사용하지 않음.
Const 를 사용할 수 있으면 전부 사용하는 것이 좋음.
동업자가 변경하면 안 되는 것을 알 수 있을 뿐더러 컴파일 타임에서 사전에 체크를 하기 때문에 코드의 정확성이 높아짐
루프를 돌 때 각 엘리먼트들은 Const 로 지정해 주는 것이 좋다.
C++ 17 정도까지는 사용 가능
웬만하면 auto 키워드를 사용하지 말아라.
iterator 사용 시에는 auto 사용해도 좋음.
헤더에 무언가를 선언 할 때는 꼼꼼하게 봐야 한다. Include 구문 자체가 헤더가 가지고 있는 모든 내용을 컴파일 단계에서 복사하는데, 헤더가 많으면 많아질수록 복사하는 양이 많아져서 컴파일 시간이 많아지게 되는 것의 근원이 된다.
전방선언 -> 이후에 설명
가급적이면 적은 수의 헤더를 Include 해라. (세밀하게)
헤더에서 static 선언 대신 extern 해주어야 한다. Include 시 모든 인스턴스들이 컴파일 되기 때문
extern 은 외부 파일에 전역 변수가 있다는 것을 명시만 할 뿐 전역변수 자체를 선언하지 않는다.