< [이득우의 언리얼 프로그래밍 Part1 필기] 2. 언리얼 C++ 코딩규칙

언리얼엔진5/[Part1] 이득우의 언리얼 프로그래밍

[이득우의 언리얼 프로그래밍 Part1 필기] 2. 언리얼 C++ 코딩규칙

Rocketbabydolls 2024. 2. 2. 14:24

코딩 표준

프로그래밍을 작성하는데 지켜야 하는 프로그래밍 이름 규칙,작성 방법 등을 지정한 가이드라인

절대적으로 좋은 코딩 표준이라는 건 없다.
언리얼엔진은 자체적으로 코딩 표준을 정해 놓았음.


따라서 기존 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 은 외부 파일에 전역 변수가 있다는 것을 명시만 할 뿐 전역변수 자체를 선언하지 않는다.