如何养成UnityC#良好代码习惯

1.养成良好的命名习惯

标识符是分配给类型(类、接口、结构、委托或枚举)、成员、变量或命名空间的名称。简单来说就是标识符是以上命名时你自定义的名称

@的作用:如果你想以C#的关键字来命名,可以在标识符上使用@前缀来声明与 C# 关键字匹配的标识符。

一般我们遵循在C#中,以帕斯卡命名法(PascalCase)骆驼命名法(camelCase)居多。在C#中,简单的变量一般用camelCase规则,而比较高级的命名使用PascalCase。这两种命名方法非常简单而且容易学习这里就不赘述了。

建议命名时:变量名称应该简洁但有意义,函数名称应该包含动词

以下来自C#官方文档标识符名称 - 规则和约定 - C# | Microsoft Learn的命名规则参考学习:

  • 接口名称以大写字母 I 开头。

  • 属性类型以单词 Attribute 结尾。

  • 枚举类型对非标记使用单数名词,对标记使用复数名词。

  • 标识符不应包含两个连续的下划线 (_) 字符。 这些名称保留给编译器生成的标识符。

  • 对方法参数和局部变量使用驼峰式大小写。

  • PascalCase 用于类名和方法名称。

  • 对方法参数和局部变量使用 camelCase 驼峰式大小写

  • PascalCase 用于常量名,包括字段和局部常量。

  • 专用实例字段以下划线 (_) 开头,其余文本为驼峰式大小写

  • 避免在名称中使用缩写或首字母缩略词,但广为人知和广泛接受的缩写除外。

  • 避免使用单字母名称,但简单循环计数器除外。

2.养成良好注释习惯

写公共方法时一定要写注释,并且长期维护代码的注释,方便自己或团队做Review。

编写README.md,保证团队其他成员快速熟悉架构,还有自己遗忘。

没写完的代码要做TO DO标识,方便下一次快速衔接工作。

3.保持代码可读性

学会代码格式化,产生风格一致的代码,提高代码清晰度。

学会利用单一原则里氏替换原则等

代码尽量根据用法分别封装在函数里,而不是全部放在Update里,比如人物系统分解成多个小而独立的模块,每个模块都有自己明确的职责。

4.尽可能地使用属性而不是可直接访问的数据成员

属性允许将数据成员作为共有接口的一部分暴露出去,同时仍旧提供面向对象环境下所需的封装。

5.减少使用单例的次数

单例可能更适合中小型游戏。请谨慎使用它们,或考虑使用依赖注入作为替代方案。使用单例不要销毁原来的实例,而要销毁新的类。

private void Awake()
{
    if (instance == null)
    {
        instance = this;
    }
    else
    {
        Destroy(gameObject);
    }
}

6.使用哈希值而不是字符串参数

Unity 不使用字符串名称来在内部寻址 AnimatorMaterial或 Shader 属性。为了提高速度,所有属性名称都被散列为 属性 ID,并且这些 ID 用于寻址属性。

在 Animator、Material 或 Shader 上使用 Set 或 Get 方法时,请利用整数值方法而不是字符串值方法。字符串值方法执行字符串散列,然后将散列的 ID 转发给整数值方法。

使用 Animator.StringToHash 作为 Animator 属性名称,使用 Shader.PropertyToID 作为 Material 和 Shader 属性名称。

8.括号或缩进样式

C# 中有两种常见的缩进样式:

Allman 风格,也称为 BSD 风格(来自 BSD Unix),将左花括号放在新行上。

K&R 样式,或“唯一真正的括号样式”,将左括号与前一个标题保持在同一行。

7.使用版本控制系统 

 可以帮助开发者管理项目代码变更历史,并允许多人协作开发时能够有效同步工作成果。推荐PlasticSCM,git

 参考:《Effective C#》提炼总结、C#官方文档

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值