![](http://img.manew.com/data/attachment/forum/201605/17/174403vqqyksqvccxmazxu.png.thumb.jpg)
1. 在文件顶部写上你的MonoBehaviours脚本的核心描述。这将帮助人们通过你的代码理解这个脚本的职责。
2.如果你在类中使用了GetComponent ,可以使用RequireComponent属性来显式地依赖。当你附加脚本到一个对象上时,inspector面板会自动添加相应要求的组件,并且当你要移除这个要求的组件时,会提示警告,从而避免脚本错误。然而,要注意的是,当你先给对象附加了脚本,它是不会自动添加所要求的组件的。
3. 把常量和静态变量放在文件的最顶端为任何引用该文件的动画参数使用常量,确保当你的参数名改变时,代码中的参数值仅仅需要在一个地方更改。
4. 把你要暴露给Inspector面板的域都写在一个叫做“Unity Inspector Fields”的区域中(使用public修饰或者使用[SerializeField]属性)。这样做明确了哪些域是能够被编辑器配置的,并能保持你的文件有组织性。
5. 给你的inspector域都使用Tooltip 注释。由于在inspector面板显示长度的限制,长的注释往往被截断。一个简单的提示信息可以很好地解决名字歧义的问题,使得你的脚本更容易被重用。
6. 把你的私有域聚集在inspector域后面。如果你不再使用很多私有域,那么就重新组织你的类以区分各个的职责,或者根据不同的任务使用空白行分隔你的域。
7. 使用Awake 函数连接到其他依赖的引用,(比如:调用GetComponent,GetComponentInChildren, FindObject等等)。在Start 函数中编写实际的启动逻辑。这样能够确保任何脚本的Start函数都已经连接了他们的引用。
8. 在上面的示例代码中没有使用到的,但是是好的准则:如果一个域没必要公有,但是你又想通过inspector面板控制它,那么使用[SerializeField] 属性来暴露这个域到编辑器中。这将确保你的公有接口尽可能地少,反过来确保其他脚本不能混淆你的状态和破坏你的脚本。