언리얼 엔진을 위한 에픽 C++ 코딩 표준 | 언리얼 엔진 5.5 문서 | Epic Developer Community
모든 소스 파일 첫 줄에 저작권 고지하기!
무조건 다음 한 줄을 최상단에 추가해 주세요!
// Copyright Epic Games, Inc. All Rights Reserved.
함수 이름 명명 규칙
MoveActor()
, SpawnParticle()
처럼 의미 전달이 확실하도록요!bool을 반환하는 함수 → ‘질문 형태’로 명명하기!
IsReady()
, CanSpawn()
, ShouldDelete()
처럼 true/false의 의미가 명확하게 드러나야죠!CheckReady()
처럼 결과가 참인지 거짓인지 함축적이면, 호출하는 사람이 헷갈릴 수 있어요.들여쓰기는 탭(Tab)을 쓰기!
중괄호는 어지간하면 꼭 사용 & 새 줄에 쓰기!
중괄호 { }
는 if/for 등 모든 구문에서 반드시 사용하고, 새 줄에 두세요.
if (Condition)
{
DoSomething();
}
else
{
DoSomethingElse();
}
Switch문에선 case마다 break 혹은 ‘falls through’ 표기하기!
default
구문도 빠짐없이 작성하기!
빈 케이스(중복 케이스)가 아니라면 반드시 break;
나 return;
같이 종료 구문을 써 주세요.
의도적으로 케이스를 2개 이상 거쳐야 할 때는 꼭 // falls through
표기를 해주세요!
switch (Value)
{
case 1:
// falls through
case 2:
...
break;
default:
break;
}
주석을 적을 땐 “왜”와 “무엇을” 설명하기!
불필요한 auto(자동 타입 추론) 사용 자제하기!
auto
를 막 쓰면, 코드를 읽는 사람이 타입을 쉽게 알 수 없어서 헷갈립니다.for문을 사용할 땐 범위 기반 for 문을 적극 활용하기!
C++11 이상에서는 for (ElementType& Elem : Container)
식으로 깔끔하게 순회할 수 있어요.
인덱스가 필요 없고, 단순 반복일 때는 range-based for가 가독성이 좋아요.
TArray<int32> Numbers = {1, 2, 3};
for (int32 Num : Numbers)
{
UE_LOG(LogTemp, Log, TEXT("Number: %d"), Num);
}
const 철저히 사용하기!
const
를 붙여주세요.네이밍은 명확하고 간결하게!
LastUpdateTime
은 LUT
보다 훨씬 더 읽기 편하죠!