언리얼 엔진을 개발하는 에픽게임즈는 자체적인 C++ 코딩 표준을 가지고 있으며, 이를 따르는 것이 필수입니다.
이 글에서는 언리얼 엔진의 공식 코딩 스타일을 정리하여 소개합니다.
클래스를 작성할 때 퍼블릭 인터페이스를 먼저 선언한 후, 프라이빗 구현을 배치하는 것이 원칙입니다.
class UExampleClass
{
public:
void PublicMethod();
private:
int32 PrivateValue;
};
언리얼 엔진에서는 **파스칼 케이싱(Pascal Casing)**을 사용하며, 특정한 클래스에는 접두사를 부여해야 합니다.
class UMyObject;
class AMyActor;
class SMyWidget;
class IMyInterface;
enum class EMyEnum;
bool bIsVisible;
class FMyStruct;
uint8, int8, uint16, int16, uint32, int32, uint64, int64
int32* Ptr = nullptr;
// 나쁜 예
const TArray<FString> GetSomeArray();
// 좋은 예
const TArray<FString>& GetSomeArray();
언리얼 엔진에서는 auto 사용을 지양합니다. 단, 예외적으로 템플릿 코드, 람다 바인딩, 긴 이터레이터 타입에서는 허용됩니다.
TMap<FString, int32> MyMap;
for (TPair<FString, int32>& Kvp : MyMap)
{
UE_LOG(LogTemp, Log, TEXT("Key: %s, Value: %d"), *Kvp.Key, Kvp.Value);
}
UENUM()
namespace EThing
{
enum Type
{
Thing1,
Thing2
};
}
UENUM()
enum class EThing : uint8
{
Thing1,
Thing2
};
FString MovedString = MoveTemp(MyString);
class FMyClass final
{
private:
int32 PrivateVar;
};
FString Name = TEXT("Unreal Engine");
enum class ETeaFlags
{
None = 0x00,
Milk = 0x01,
Sugar = 0x02,
Honey = 0x04,
Lemon = 0x08
};
ENUM_CLASS_FLAGS(ETeaFlags)
언리얼 엔진의 코딩 스타일을 준수하는 것은 유지보수성과 협업에 필수적인 요소입니다. 이 가이드를 참고하여 더욱 깔끔하고 효율적인 코드를 작성해 보세요! 🚀
언리얼 C++ 리플렉션 시스템 활용하기 (Part 2) (0) | 2025.03.04 |
---|---|
언리얼 C++ 프로퍼티 시스템과 리플렉션 (Part 1) (0) | 2025.02.28 |
언리얼 C++ 오브젝트 시스템 소개 (1) | 2025.02.21 |
언리얼 C++ 기본 타입과 문자열 처리 정리 (0) | 2025.02.21 |