在日常开发中,代码的规范书写对于程序员来说是必须要掌握的一项技能,也是公司里团队开发所需要的。好的代码规范有助于项目的拓展和优化。

        由于代码规范内容较多,我会持续更新,不断往这篇文章中加入新鲜知识。

        (PS:请注意,这里提到的点并不是所有人都习惯使用,大家可以选择性的选择适合自己的代码规范)

1.尽量不要将变量申明为public(避免外界随意获取),原则上来说,申明的所有字段都应该是私有的private,然后通过一个public的Get和Set方法来让外部修改和访问,如果想要变量在Inspector面板上显示出来,可以将变量申明为私有变量,并在其前面添加[SerializeField]特性。

2.

if(x!=0)
{
    isMoving=true;
}
else
{
    isMoving=false;
}

对于这样格式的代码,其实可以直接化简为一行代码:

isMoving=x!=0 

3.写代码时,尽量将每一段逻辑都用单独的方法封装起来,虽然可能你会觉得麻烦,但这便于以后的拓展(例如动画播放、主角跳跃、主角移动、检测输入等都可以单独封装成一个方法) 。

4.假如一个变量,只在某个代码块中使用到,那么就可以将其设置为 局部变量。

5.善用继承,当多个对象有共同属性时(例如获取刚体、碰撞器组件,地面检测,翻转等),可以提取成一个父类,这样可以节省很多代码。

6.我们平时写构造函数时,当变量名和参数名相同时,可以将参数名前面添加一个_便于区分(这里不是强制要求,只是希望有个良好的习惯)

7.当一个函数中只要一句代码时,可以用=>简写成:

8.紧接第7点,我们在申明变量时也可以这样写:

9.在任何时候,当你在不同类型脚本中不断复用同一段代码时,就可以考虑使用继承,提高代码的复用性。

10.有时候我们申明一个临时变量为了方便,会直接使用var,虽然很方便,但也大大降低了代码可读性,建议不要。

11.对于含有字符串的地方(例如动画播放的字符串,Invoke函数等),可以使用一个常量将其保存下来,这样可以避免出现频繁拼写字符串而拼写错误的情况。

12.将对象的显示和逻辑分开:

        尽量为物体添加一个空的父物体,然后在父物体身上书写逻辑,避免和物体的显示、动画等产生影响。

        如果要获取组件(例如获取动画组件,可以另外创建一个控制动画的脚本挂载在组件物体上)

13.枚举变量用E或E_开头命名

14.动画命名规范:物体名_动画名

15.ScriptableObject脚本命名规范:在末尾添加 SO

16.物体移动和转向的方法一般写在FixedUpdate中:

可以解决物体移动过程中碰到墙体抖动的问题,原因是刚体组件是在FixedUpdate中执行的,如果移动和转向的方法写在Update中,就会导致两者不同步。

17.少耦合性,自己的脚本负责自己的逻辑,减少对其他脚本的引用,多使用事件系统。

18.对于unity中的事件和委托、以及对象 是否为空,不为空时才去执行,都可以使用 (?.)

Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐