首页 > 代码库 > UnrealEngine4编码风格的思考

UnrealEngine4编码风格的思考

第一次拿到UE4源代码,扫了一遍,各种宏定义,各种模板,各种类层次,杂乱无章。


后来慢慢明白其规律:

UE4的编码风格是在匈牙利命名法的基础下做了改进,使其更适用游戏引擎业务(业务特点:数据可视编辑、脚本化)。

UE4保留了匈牙利命名法的大驼峰,使Tag含义更易读。

UE4里有很多类型都以F、U、A、T为前缀,成员变量不加m前缀。为什么呢?

站在设计者的角度,想想UE4的引擎设计思路,引擎必然是非常庞大复杂,但再复杂的引擎都是从零设计编码出来的。

设计者设计之初定然明白这是一个庞然大物,要想可控,模块化,这是每个大型软件设计师一定会想到的。

另外就是:超越语言的面向对象,不同功能的对象,在不同角度(语言层面,编辑器层面,脚本层面)的表现。

拿编辑器层面来说,一个对象的数据成员在可视化层面如果加了个m是不是很奇怪?

为了区分成员变量,函数参数一般加上In或者Out前缀,而类型也按照规律将通常的类型加上F前缀,继承自UObject的加上U前缀,继承自AActor的加上A前缀,模板加上T前缀。

UnrealEngine4编码风格的思考