译自《Coding Standard》by Unreal官方
命名约定-
每个单词的首字母(注入类型名或变量名)大写,并且中间没有下划线。例如:
Health
和UPrimitiveComponent
都是正确的,不要写成lastMouseCoordinates
或者delta_coordinates
。 -
类型名前面加上额外的大写字母前缀以区别于变量名。例如,
FSkin
是个类型名,Skin
则是FSkin
的一个实例。-
模板类的前缀是
T
。 -
UObject
类的派生类前缀是U
。 -
AActor
类的派生类前缀是A
。 -
SWidget
类的派生类前缀是S
。 -
抽象接口类前缀是
I
。 -
枚举类型前缀是
E
。 -
布尔类型变量的变量名必须加上前缀
b
(例如:bPendingDestruction
或者bHasFadedIn
)。 -
绝大多数其它的类,类型名前会有前缀
F
,一些子系统可能会使用其它字母。 -
类型别名(
typedef
)也应当使用恰当的前缀:如果是一个结构体(struct
)则应使用前缀F
。如果是一个UObject
的派生类则应使用前缀U
,以此类推。- 一个模板实例已经不再是一个模板类,因此其别名前缀应如:
typedef TArray FArrayOfMyTypes;
- 在C#代码中将忽略前缀
- 大多数情况下,UnrealHeaderTool会要求正确的前缀,因此一定遵守规则。
-
-
类型名和变量名都应该是名词。
-
方法名应该是描述该方法或者其返回值意义的动词。