언리얼 엔진을 위한 에픽 C++ 코딩 표준 | 언리얼 엔진 5.5 문서 | Epic Developer Community
본 문서는 언리얼 엔진을 사용하여 닌텐도 대난투 스매쉬 스타일의 프로젝트를 진행함에 있어, 팀 내 코딩 스타일의 통일성을 유지하고, 코드 가독성 및 유지보수를 편리하게 하기 위해 작성되었습니다.
Base를 접두사로 붙인다.예시
BaseItemBaseAbility클래스 내 멤버의 순서를 명확히 지정하여 코드 분석과 코드 리뷰의 편의성을 높인다.
다음과 같은 순서로 작성한다.
예시
UCLASS()
class USmashCharacter : public ACharacter
{
GENERATED_BODY()
public:
USmashCharacter();
virtual void BeginPlay() override;
virtual void Tick(float DeltaTime) override;
void Attack();
protected:
void Move();
private:
void CalculateDamage();
public:
UPROPERTY(EditAnywhere)
float Health;
protected:
UPROPERTY(EditDefaultsOnly)
float AttackPower;
private:
UPROPERTY()
bool bIsDead;
// 델리게이트는 최하단에 배치
UPROPERTY(BlueprintAssignable)
FOnCharacterDeathSignature OnCharacterDeath;
};
인터페이스를 작성할 때, 클래스 이름 앞에 접두사 Interface_를 붙여 명확히 한다.
예시
Interface_SmashCombatInterface_Interactable주석은 적당히 작성한다.
좋은 예시
// 캐릭터의 상태가 죽음일 경우만 처리
if (bIsDead)
{
HandleDeath();
}
나쁜 예시
// 체력을 설정
Health = 100; // 체력을 100으로 초기화
AbilitySystem으로 정하고, 그 안에 관련 클래스들을 위치시킨다.ItemSystem으로 정하고, 그 안에 관련 클래스들을 위치시킨다.폴더 구조 예시
/AbilitySystem
├─ BaseAbility.h
└─ SmashAbility.h
/ItemSystem
├─ BaseItem.h
└─ HealingItem.h
b를 붙인다.