找回密码
 立即注册
查看: 498|回复: 0

Unity编码习惯

[复制链接]
发表于 2021-7-11 12:31 | 显示全部楼层 |阅读模式
Unity 编码习惯

变量

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

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

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

组件名缩写
Imageimg
Buttonbtn
GameObjectobj
Transformtsf
RectTransformrectTsf
SpriteRendererspriteRd
UnityEngine 相关

    按钮回调函数名:用 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 加 [SerializeField] 修饰,不用 public    [SerializeField]    // 名字前加下划线与控件类型,方便看到就知道是什么组件    private Text _txtName = default;    [SerializeField]    private Text _txtVal = default;    [SerializeField]    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}
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 11:04 , Processed in 0.090673 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表