前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Unity】编程规范

【Unity】编程规范

作者头像
鸡先生
发布2023-04-17 13:54:02
5270
发布2023-04-17 13:54:02
举报
文章被收录于专栏:鸡先生鸡先生

参考文章:https://zhuanlan.zhihu.com/p/376111503

目录 一、变量名称

一、变量名称

命名规范:一个游戏开发的周期往往是漫长的,为了保证我们回来能看的懂我们写的代码,变量的命名需要有他的意义。

否则你的代码将会杂乱无章,最终弃稿。

【命名规则】

  • Pascal 规则: 每个单词开头的字母大写(如 TestCounter).
  • Camel 规则: 除了第一个单词外的其他单词的开头字母大写. 如. testCounter.
  • Upper 规则: 仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则

【类命名规则】

  • 类名应该为名词及名词短语,尽可能使用完整的词.
  • 使用Pascal规则
  • 不要使用类前缀 - 不要使用下划线字符 (_)。
  • 有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当的。
  • 在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。

【接口命名规则】

  • 接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example IComponent or IEnumberable)
  • 使用Pascal规则
  • 使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)

【枚举命名规则】

  • 对于 Enum 类型和值名称使用 Pascal 大小写。
  • 少用缩写。
  • 不要在 Enum 类型名称上使用 Enum 后缀。
  • 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。
  • 总是将 FlagsAttribute 添加到位域 Enum 类型。

【变量命名规则】

  • 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
  • 使用 Camel 命名规则

【方法命名规则】

  • 使用Pascal规则
  • 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 InsertWidget 和 InsertSprocket;将宾语置于前面时,所使用的名称诸如 WidgetInsert 和 SprocketInsert。
  • 推荐名称应该为动词或动词短语.例如Save,SaveCustomer,而不要使用CustomerSave
  • 不要在方法中重复类的名称。例如,如果某个类已命名为 Book,则不要将某个方法称为 Book.CloseBook,而可以将方法命名为 Book.Close。

【属性命名规则】

  • 名称应该为名词及名词短语
  • 使用Pascal规则
  • 对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlag

【集合命名规则】

  • 名称应该为名词及名词短语
  • 使用Pascal规则
  • 对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlag

【事件命名规则】

  • event handlers命名使用 EventHandler 后缀.
  • 两个参数分别使用 sender 及 e
  • 使用Pascal规则
  • 事件参数使用EventArgs 后缀
  • 事件命名使用语法时态反映其激发的状态,例如 Changed,Changing.
  • 考虑使用动词命名. 变量命名
  • 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
  • 使用 Camel 命名规则

【自定义的属性以Attribute】 代码如下:

代码语言:javascript
复制
public class AuthorAttribute : Attribute
{
}

【自定义的异常以Exception结尾】

代码语言:javascript
复制
public class AppException : Exception
{
}

【在类的顶部声明所有的成员变量,静态变量声明在最前面】

代码语言:javascript
复制
// Correct
public class Account
{
    public static string BankName;
    public static decimal Reserves;

    public string Number {get; set;}
    public DateTime DateOpened {get; set;}
    public DateTime DateClosed {get; set;}
    public decimal Balance {get; set;}

    // Constructor
    public Account()
    {
        // ...
    }
}

【不推荐使用匈牙利命名法】

  • 不要给成员变量加任何前缀(如、m、s_等等)。如果想要区分局部变量和成员变量,可以使用this关键字。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、变量名称
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档