UE4 编码规范
注釋
規范:JavaDoc
參考:
https://docs.unrealengine.com/4.27/zh-CN/ProductionPipelines/DevelopmentSetup/CodingStandard/
https://www.jianshu.com/p/3c74c62fafae
(1) 多行注釋:/* ??*/ ?或者 ??/** ??*/
(2)參數:@Param
(3)返回值:@Return
(4)注意:@Note
(4.1)@See
(5)警告:@warning
注意:
(1)關鍵字大小寫不敏感;
(2)注釋內不能有空行;
編譯時斷言:
static_assert
覆蓋與完成
override
final
auto
適用情況:
(1)匿名函數與變量綁定:需要將匿名函數與變量綁定時;因為代碼無法表示匿名函數類型;
(2)復雜迭代器:迭代器遍歷復雜集合,影響可讀性時;
(3)不清晰模板類型:無法清楚識別表達式的模板代碼中適用。
強類型化列舉
(1)大小可任意:列舉屬性可為任何大小,而非僅為字節大小;
(2)ENUM_CLASS_FLAGS(自動定義所有按位運算符):標志的列舉類可以利用 ENUM_CLASS_FLAGS(EnumType) 宏自動定義所有按位運算符:
enum class EFlags
{
????None = 0x00,
????Flag1 = 0x01,
????Flag2 = 0x02,
????Flag3 = 0x04
}
ENUM_CLASS_FLAGS(EFlags)
(2.1)空枚舉(用于比較判斷):所有標簽列舉應含有名為 空 的列舉器,并將其設為0以進行對比(語言限制)
if ((Flags & EFlags::Flag1) != EFlags::None)
命名空間
(1)UnrealHeaderTool不支持命名空間,所以命名空間不應在定義 UCLASSes、`USTRUCTs`等時使用。
(2)宏無法存在于命名空間中,但應使用 UE_ 作為前綴,例如 UE_LOG。
物理依賴性
引用直接定義頭文件;
API設計指導方針
(1)參數:枚舉優于bool;(強類型化列舉);
退出游戲
UKismetSystemLibrary::QuitGame(this, nullptr, EQuitPreference::Quit);
stat命令說明:
Stat Commands
https://docs.unrealengine.com/latest/INT/Engine/Performance/StatCommands/
總結
- 上一篇: 基于HFSS阵列天线设计
- 下一篇: Impress.js上手 - 抛开PPT