量子计算9 发表于 2021-7-11 12:31

Unity编码习惯

Unity 编码习惯

变量

公有成员变量:小写p开头,之后接单词首字母大写私有成员变量:下划线前缀_,首字母小写函数形参:首字母小写,末尾加下划线_函数内部临时变量:小写字母开头
结构

枚举名:前缀 E_结构体名:加后缀 Info动态的数据体:加后缀 Vo动态数据体的静态配置:加后缀 ConfigVo填充数据显示信息的显示类:后缀加Item普通节点挂载的脚本:后缀加Ctrl
UnityEngine 暴露到界面上的变量

用 private 加 修饰,不用 public赋初值 default,避免警告名字前加下划线与控件类型,方便看到就知道是什么组件
常用缩写

组件名缩写ImageimgButtonbtnGameObjectobjTransformtsfRectTransformrectTsfSpriteRendererspriteRdUnityEngine 相关

按钮回调函数名:用 On 开头 Click 结尾;比如 OnReturnClick()事件回调函数名:用 On 开头;比如 OnMoneyUpdate()类中按钮回调放一起,用 region OnClick 包裹类中事件回调放一起,用 region OnDelegate 包裹
其他

所有函数之间有且只有 一行空行(看着整齐、并且方便跳转光标)有返回值的函数,函数开始创建 临时变量 ret,运行中赋值,在函数末尾 return ret
// 枚举用 E_ 开头public enum E_DataType{    somethingType1 = 0,    somethingType2,    somethingType3,}// 结构体末尾加 Infopublic struct SomethingInfo{    public int pNum;}// 数据类配置末尾加 ConfigVopublic class SomethingConfigVo      {    // 公有变量用 小写p开头    public string pName => _name;    // 私有变量用 下划线开头    private string _name;    // 形参末尾加 下划线    public void SetName(string name_)    {      _name = name_;    }}// 数据类末尾加 Vopublic class SomethingVo {    public string pName => _config.pName;    private SomethingConfigVo _config = null;    public void SetConfig(SomethingConfigVo config_)    {      _config = config_;    }    public int CalSomething(int val_)    {      // 带返回值的函数,先创建一个临时变量保存返回值      int ret = 0;      // 函数内部临时变量 小写字母开头      int tempVal = val_;      if (tempVal > 0)      {            ret = 1;      }      else      {            ret = -1;      }      // 固定在函数末尾 return      return ret;    }    }// 显示类末尾加 Itempublic class SomethingItem{    // 暴露到界面上的变量用 private 加 修饰,不用 public        // 名字前加下划线与控件类型,方便看到就知道是什么组件    private Text _txtName = default;        private Text _txtVal = default;        private Button _btnSomething = default;    private SomethingVo _data = null;    private void Awake()    {      // 在 awake 时添加按钮回调,避免重复添加监听导致的异常      _btnSomething.onClick.AddListener(OnSomethingClick);    }    // 接收数据Vo 并显示到界面上    public void SetData(SomethingVo data_)    {      _data = data_;      if (_data != null)      {            _txtName.text = _data.pName;            _txtVal.text = _data.CalSomething(122).ToString();      }    }    public SomethingVo GetData()    {      return _data;    }    // 按钮回调统一放到一起    #region OnClick    // 按钮回调名字用 OnXXXXXClick 的方式命名    private void OnSomethingClick()    {      if (_data != null)      {            _txtVal.text = _data.CalSomething(122).ToString();      }    }    #endregion    // 事件回调统一放到一起    #region OnDelegate    // 事件回调用 OnXXXXX 的方式命名    private void OnSomethingUpdate()    {    }    #endregion}
页: [1]
查看完整版本: Unity编码习惯