• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

UnrealEngine4编码风格的思考

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


后来慢慢明确其规律:

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

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

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

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

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

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

拿编辑器层面来说。一个对象的数据成员在可视化层面假设加了个m是不是非常奇怪?

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

posted on 2017-06-15 20:41  cynchanpin  阅读(347)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3