标签:unrealengine4 ue4 codingstandard
第一次拿到UE4源代码,扫了一遍,各种宏定义,各种模板,各种类层次,杂乱无章。
后来慢慢明白其规律:
UE4的编码风格是在匈牙利命名法的基础下做了改进,使其更适用游戏引擎业务(业务特点:数据可视编辑、脚本化)。
UE4保留了匈牙利命名法的大驼峰,使Tag含义更易读。
UE4里有很多类型都以F、U、A、T为前缀,成员变量不加m前缀。为什么呢?
站在设计者的角度,想想UE4的引擎设计思路,引擎必然是非常庞大复杂,但再复杂的引擎都是从零设计编码出来的。
设计者设计之初定然明白这是一个庞然大物,要想可控,模块化,这是每个大型软件设计师一定会想到的。
另外就是:超越语言的面向对象,不同功能的对象,在不同角度(语言层面,编辑器层面,脚本层面)的表现。
拿编辑器层面来说,一个对象的数据成员在可视化层面如果加了个m是不是很奇怪?
为了区分成员变量,函数参数一般加上In或者Out前缀,而类型也按照规律将通常的类型加上F前缀,继承自UObject的加上U前缀,继承自AActor的加上A前缀,模板加上T前缀。
标签:unrealengine4 ue4 codingstandard
原文地址:http://blog.csdn.net/flushthink/article/details/40075975