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]