枚举命名规范_UE4 C++基础教程 - 编码规范
為什么要學習編碼規范?
良好的編碼規范不僅利于項目維護,也增加了代碼辨識度。使我們在閱讀代碼時能夠更加清晰的理解代碼意圖。維護編碼規范不是一件機械化的工作,它更像是一門藝術,讓我們在有限的規范內發揮自己的創造力。除此之外,還有如下幾個原因:
- 軟件生命周期中80%的時間皆需要維護。
- 原開發者幾乎不會對軟件進行終身維護。
- 代碼規則可提高軟件可讀性,讓工程師更加快速透徹地理解新代碼。
- 如決定向模組社區開發者公開源代碼,則源代碼需要易于理解。
- 交叉編譯器兼容性實際上需要此類規則。
詳細的編碼規范可以參考UE4的官方文檔[1],這里我們只摘錄其中有利于初學者閱讀代碼的部分。
UE4命名規范
Pascal命名法
每個單詞首字母大寫,如 Health或 UPrimitiveComponent 。變量、方法和類的命名應清楚、明了且進行描述。命名的范圍越大,一個良好的描述性命名就越重要。避免過度縮寫。所有變量應逐個聲明,以便對變量的含義提供注釋。其同樣被JavaDocs格式需要。變量前可使用多行或單行注釋,空白行為分組變量可選使用。
類型前綴
類型名稱前有一個額外的大寫字母用于區分不同的類型和普通的變量名。如 FSkin 是個類型名,Skin 則是 FSkin 的實例。下面是各種前綴以及其含義:
- T 表示模板類
- U 表示類繼承自 UObject
- A 表示類繼承自 AActor
- S 表示類繼承自 SWidget
- I 表示抽象接口類
- E 表示枚舉
- b 表示布爾值
- F 表示其他不滿足上述規則的類
樣例
float TeaWeight; int32 TeaCount; bool bDoesTeaStink; FName TeaName; FString TeaFriendlyName; UClass* TeaClass; USoundCue* TeaSound; UTexture* TeaTexture;其他
typedef 應該以與其類型相符的字母為前綴,若為結構體,則使用F;若為UObject則使用U,以此類推。此外,使用模板實例化的類不再是模板,也應該加上相應前綴,如:
typedef TArray<FMytype> FArrayOfMyTypes;類型和變量的命名為名詞。
方法名是動詞,用于描述方法的效果或者無副作用的返回值。
返回布爾的函數應發起true/false的詢問,如:
IsVisible(); ShouldClearBuffer();若函數參數通過引用傳遞,同時該值會寫入函數,建議以“Out”做為函數參數命名的前綴(非必需)。此操作將明確表明傳入該參數的值將被函數替換。
若In或Out參數同樣為布爾,以b作為In/Out的前綴,如 bOutResult。
返回值的函數應描述返回的值.命名應說明函數將返回的值。此規則對布爾函數極為重要。請參考以下兩個范例方法:
// True的意義是什么? bool CheckTea(FTea Tea);// 命名明確說明茶是新鮮的 bool IsTeaFresh(FTea Tea);參考
總結
以上是生活随笔為你收集整理的枚举命名规范_UE4 C++基础教程 - 编码规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内免费汉语语料库-NLP
- 下一篇: 虚幻引擎5 C++游戏开发教程