[UE5/C++] 언리얼엔진 코딩표준

    목차

https://docs.unrealengine.com/5.3/ko/epic-cplusplus-coding-standard-for-unreal-engine/

 

코딩 표준

기존에 확립된 표준 및 모범 사례를 준수하여 유지보수 가능한 코드를 작성합니다.

docs.unrealengine.com

>> 언리얼 엔진 공식 문서

 

 

코딩표준이란?

: 프로그래밍을 하는데 지켜야하는 이름 규칙, 양식 등을 지정한 가이드라인

(코딩 스타일, 코딩 컨벤션이라고도 함)

 

절대적으로 좋은 코딩 표준은 없다.

내가 사용하던 표준이 있다하더라도 이미 프로젝트에 사용중인 표준이 있다면 그것을 잘 따르는 것이 중요하다.

어떤 프로젝트의 모든 코드는 한 사람이 작성한 것 처럼 보이는 것이 좋다.

그러기 위해 코딩표준을 잘 따르는 것이 중요하다.

 

예시: 구글의 코딩 스타일

https://google.github.io/styleguide/cppguide.html

 

Google C++ Style Guide

Google C++ Style Guide Background C++ is one of the main development languages used by many of Google's open-source projects. As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn ca

google.github.io

 

 

 

언리얼 엔진은 자체적으로 코딩표준이 있다.

기존 C++을 쓰던 방식말고 언리얼 엔진 코딩 표준을 따라야한다.

맨 위에 첨부한 주소를 들어가면 코딩표준 관련 문서를 확인할 수 있다.

정리가 잘 되어 있어서 블로그에는 몇 가지만 정리하려고 한다.

 

 

클래스 체계

클래스 내에 public을 먼저 선언한 후 private을 구현해야한다.

 

 

명명규칙

언리얼엔진은 파스칼 케이싱을 사용하기 때문에, 모든 합성어의 첫 글자를 대문자로 사용해 명명한다.

예) UnrealEngine (O), unrealEngine (X), unreal_engine (X)

 

타입 이름에는 대문자로 이루어진 접두사를 포함한다.

- 템플릿 클래스에는 접두사 T를 포함한다.
- 언리얼오브젝트(UObject)에서 상속받는 클래스에는 접두사 U를 포함한다.
- AActor에서 상속받는 클래스는 접두사 A를 포함한다.
- (예외) 부울 변수는 접두사로 소문자 b를 포함한다
- 일반 C++클래스들은 접두사 F를 포함한다.

예시) UObject의 상속을 받는 GaneInstance 클래스의 경우 UGameInstance로 명명.

 

 

표준 라이브러리 사용

C++ 표준라이브러리는 사용하지 않는 것이 기본 원칙이다.

 

코드의 명확성

- 파라미터에 가급적 In과 Out 접두사를 사용해 함수 내부에서 쓰이는 것인지 함수 외부에서도 쓰이는 것인지 명시한다.

- const 지시자(directive)를 적극 활용해 다른 사람이 읽을 때 명확하게 한다.

- auto 키워드는 가급적 자제한다. 람다 함수의 경우나 이터레이터의 자료형 등의 경우 말고는 자제한다.

- 포인터나 참조변수를 선언할때는 변수이름이 아닌 자료형에 붙여서 사용해라 (TypeName* ptr)

- 헤더 파일 및 #include 구문은 잘못쓰면 상호참조를 하면서 꼬인다던가 컴파일 시간이 늘어날 수가 있기 때문에  의존성을 최소화 시켜라.

 

 

 

 

[인프런 강의]

https://inf.run/RenW

 

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해 강의 - 인프런

대기업 현업자들이 수강하는 언리얼 C++ 프로그래밍 전문 과정입니다. 언리얼 엔진 프로그래머라면 게임 개발전에 반드시 알아야 하는 언리얼 C++ 기초에 대해 알려드립니다., [사진] 언리얼 C++을

www.inflearn.com