언리얼의 C++코딩 표준을 이해하기
1. 클래스에서 public: 을 제일 먼저 선언할 것.
어려울 것 없이 위 코드처럼 순서를 지킬것을 규칙으로 삼았다.
2. 언리얼은 파스칼 케이싱(Pascal Case)만을 명명한다.
즉, 각 단어의 첫 글자는 대문자, 단어사이는 언더스코어를 사용하지 않는다.
- 템플릿 클래스엔 접두사 T를 붙인다.
- UObject를 상속한 클래스는 접두사 U를 붙인다.
- 예외로, Object를 상속하긴 했으나, AActor를 상속한 클래스는 접두사 A를 붙인다.
- SWidget을 상속한 클래스는 접두사 W를 붙인다.
- 추상 인터페이스는 접두사 I를 붙인다.
- 열거형에는 접두사 E를 붙인다.
- 부울 변수는 접두사 b를 붙인다. (예외적으로 소문자임)
- 그 외의 클래스와 구조체는 접두사 F를 붙인다.
추가 명명 팁.
부울 함수는 질문 형태로 이름 짓기.
접두사로 In 이나 Out을 사용해서 값이 어떻게 사용되는지에 대해 명명하는것을 권장함.
명사형 함수는 모호하므로 하지 말기.
C++에서와 다르게 int라고만 하지 않는다. 정확하게 크기를 명명함.
int8 이나, int16, int64와 같이 씀.
아무래도 게임엔진이기에 메모리를 최적으로 사용하기 위한 것임.
3. 언리얼에서 표준 라이브러리를 사용하지 않는것이 낫다.
언리얼이 c++을 기반으로 만든 라이브러리 그 자체이기에, 언리얼용 c++을 쓰는것이 바람직하다.
4. const의 적극 활용
const가 적용되어야하면 최대한 다 적용해서 명명을 해줄것.
대표적인 예로, 루프를 돌때. -> for( const iter& : Array) 같은 경우.
5. auto는 자제한다.
이터레이터의 변수일 경우, 변수에 람다를 반환하는 경우는 사용을 인정.
6. 람다캡처는 명시적으로 한다.
다른 사람이 읽었을때에도 직관적일수 있도록 하는것이 언리얼의 기초적인 코딩표준임을 잊지말라.
7. 이동시멘틱은 MoveTemp를 사용하도록 한다.
가급적 C++에 있는 STL을 사용하지 않는다.
8. 멤버변수는 생성자에서 초기화하도록 한다.
Init() 에서 초기화하는 경우도 있지만, 그렇기 때문에 하나의 규정을 정한 것이니, 생성자에서 초기화 하자.
9. include는 가능한 한 세밀하게 한다.
중복되는 코드로 인한 긴 코드덩어리는 컴파일 시간을 지연시키기 때문이다.
10. 가급적 override를 명시하라.
이 함수가 상속받은 함수를 재정의 하였음을 명시하라.
'언리얼' 카테고리의 다른 글
이득우의 언리얼 프로그래밍 6 - 델리게이트 (0) | 2025.04.21 |
---|---|
이득우의 언리얼 프로그래밍 5 - 컴포지션 (0) | 2025.04.21 |
이득우의 언리얼 프로그래밍 4 - 인터페이스 (0) | 2025.04.17 |
이득우의 언리얼 프로그래밍 3 - 언리얼 오브젝트 (0) | 2025.04.17 |
이득우의 언리얼 프로그래밍 1 - 기초 사용법 (0) | 2025.04.08 |