C#、Unity编程习惯

编程习惯

  1. 代码命名和书写规则可以参考alibaba tx netease都有出手册..这个很重要是共同开发的基础
  2. 确保编译没问题跑过一遍再提交代码。。这个也是基本
  3. 写完代码后,检查一下是否符合项目规定的写法
  4. 单个类内容太多的时候,可以用partial分隔类
  5. 参数多的时候,可以封装为一个struct
  6. if else太长的时候,可以多换行能一次写完的都写在一起
  7. 不要在参数内嵌套方法 考虑到单行长度和debug的时候不知道错误出在哪里
  8. 写完代码后,自动整理一下格式再提交
  9. 存储数据的时候要思考选择好存储使用什么结构更好更合适

系统构建

  1. 每一次的new和构造就要记得写相应的清除方法,特别是写系统,防止引发严重的内存泄漏
  2. 思考什么逻辑是固定的、稳定的、底层的,做完就尽量不去改。
    思考别人用到你的系统会在哪里写逻辑,在哪里扩展逻辑。
  3. 解耦是比较关键的事情,以免整个程序写完后,改动一下就牵一发而动全身,比较好的解耦方法有设计模式、注入、Context、事件等。。以免对象互相依赖回到oop+接口
  4. 思考使用使用继承还是组件的形式去做
    如果使用组件形式,思考组件之间耦合关系如何处理,是管理起来还是耦合
    如果使用继承形式,考虑是否多层继承的复杂性、多余数据、多余接口、重写的问题
  5. 合适的命名,在做接口时要考虑到命名的理解和复杂的情况,用一些大家悉知的词组作为描述的前后缀,例如Set、Get,考虑接口的真实情况区分Pause和Enable之类的关系。


  6.  

使用<Visual Studio>作为编辑器

以VS为粒子:
●安装 --- unity2017以后的版本,不自带Mono了,但安装Unity时可勾选安装vs,安装vs也可勾选安装Unity,官方互gay
●调试 --- 如果不会,必须学习,调试是快速debug的重要方法。vs可一键Unity断点调试,改完代码F5Unity那边也跑起来了                          
●快捷键 --- 修改快捷键ctrl+w关闭当前窗口的方法,照着这样改成你自己的习惯,希望vs啥时候出个设置保存云..

●搜索类   ---   使用 Ctrl + T 
  搜索类内方法方法    ----  使用 Atl+ \
                    
●阅读 --- 可以使用使用 #region和#endregion,用于代码的缩放,对于代码阅读编辑相当好。
●标签 --- 灵活使用标签例如//TODO就可以标注将会做(其实是骗自己...)之后可以在 视图→任务列表 查看              
●DLL --- vs还可以生成解决方案DLL,然后拉过去或代码功能自动复制一份到UnityAsset内就可以给Unity使用了./,Rider默认反编译DLL可以查看Unity的方法

●Lua 使用EmmyLua作为插件
 

Ctrl + F:快速查找
Ctrl + H:查找替换
Ctrl + G:转到行
Ctrl + T:转到所有
F12 :转到定义
Ctrl + F12:转到声明

Tab:选项卡向右移(ctrl + A全选或者选择某一区域进行右移)
Tab + Shift:选项卡向左移(ctrl + A全选或者选择某一区域进行左移)
Ctrl + K + C:注释选择的代码
Ctrl + K + U:取消对选择代码的注释
Ctrl + K, Ctrl + F 或 Ctrl + K + D :整理代码
Ctrl + M + M: 折叠或者展开当前方法
Ctrl + Tab:快速切换不同的窗口

F5 :开始调试
Ctrl + F5:开始执行,不调试
F10 :逐过程
F11 :逐句
Ctrl + Shift + F9 :取消所有断点

Ctrl + B:生成解决方案
Ctrl + O:打开此文件的目录
Ctrl + Shift:+ O:打开项目
F1 :帮助
Shift:+ F1:当前窗口帮助


 

使用<Rider>

在Assemblies里面寻找源码很方便

一些问题记录:

vs只有启动按钮 没有附加到unity按钮
解决:设置unity方案为启动项

使用2019最新的清扫功能注意可能会把非使用状态宏使用的using dll也清理了..如果使用最好也用宏把using括起来
2019会提示把Dictionary的TryGetValue的out写到一句里,但如果切回旧版就会报错...
vs不能打开两个同样代码的窗口(或者是我不知道)
vs调试有可能调试比较长的情况下参数错误...(或者是我操作错误?)


版权声明:本文为u014528558原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。