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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值