1.注释写在上面,充分利用C#的提示
2.短路写法,把大量的前提预先处理,可以让代码实现逻辑更清晰,并能有效的所见代码嵌套深度
3.要常用自带的Action Func Predicate委托类型
不要引入额外的类型 增加负担
http://www.cnblogs.com/akwwl/p/3232679.html
Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型
Func可以接受0个至16个传入参数,必须具有返回值
Action可以接受0个至16个传入参数,无返回值
Predicate只能接受一个传入参数,返回值为bool类型
原来的写法:
修改之后:
4.容器不要直接public,要容器自己权限操作,如果代码量大的话不利于维护,出现一个bug不知道从哪儿操作
5.多用var,C#不需要太关注类型
6.挂事件要对应着减事件,以免内存泄露
在Start中+=事件,就要立马写对应的OnDestroy()中-=事件
7.任务的单词不要用task用quest
8.变量命名规范
*例如事件不要以event结尾,class不要以class结尾
9.EventHandler如果确定不需要sender,可以考虑用Action
10.public的方法首字母大写
11.如果方法是GetXXX,那么返回不能是void,必须有返回值
12.C++里面的byte类型或者uint类型 int类型枚举采用C#强类型枚举
或者参数里是uint或者int这种情况也要使用强类型枚举
或者字段属性是uint类型也要使用强类型枚举
或者字典的key
13.xml属性=左右不需要空格
14.C++/Unity中的C#采用Pascal命名规则,js/ts采用camel命名规则
前面属于camel命名规则,后面属性Pascal命名规则
15.函数大量的传出参数可能在暗示设计的问题,除非必须这么用,飞则违反直觉和思维习惯。函数的返回值是很好的通用函数渠道,如多个返回值,可以考虑Tuple元组的方式。
例如:函数的参数有两个ref这种形式
http://www.cnblogs.com/shanyou/p/3541327.html
16.C#中的容易都是引用类型,和C++ STL中的值类型容易是不一样的,传参时候不会有拷贝性能损伤
17.注意单词的拼写错误