使用 C# 风格指南编写干净且可扩展的代码⚓︎
官方资源链接: C#-Style-Guide Unity 推荐的一种代码风格: Unity-C#-Style-Example
编码思维⚓︎
Keep It Simple, Stupid (KISS)
,保持代码有效且简单即可,除非是“防御性编程”。YAGNI (You Ain't Gonna Need It)
,不要提前考虑过多功能,以最简单的方式编写现在最需要的功能,并确保它能实现目标。DRY (Don't Repeat Yourself))
,超过三次的重复代码,请考虑进行封装。- 不要逃避代码问题,如果可以,去弄清楚问题的关键。
- 保持统一的代码风格。
- 逐步改进代码,保持功能正常,不要过于追求完美,当你的代码达到生产标准时,就应该提交并继续前进。
- 一定要有计划,但是也要适应改变。
六大编码原则⚓︎
- SRP - Single Responsibility Principle - 单一职责原则
- OCP - Open Closed Principle - 开闭原则
- LSP - Liskov Substitution Principle -里氏替换原则
- DIP - Deppendency Inversion Principle - 依赖倒置原则
- ISP - Interface Segregation Principle - 接口隔离原则
- LKP - Least Knowledge Principle - 最少知识原则
梳理代码规范⚓︎
位于 OdinToolkits 的 Editor 文件夹中的 OdinToolkitsCodeStyleExample.cs ,内容很长,并且可能根据实际情况不断优化修改。
Unity 中的脚本模板⚓︎
可以在 Unity 软件安装目录找到内置的脚本模板,此处的脚本模板是跨项目的,依赖于 Unity 的版本。
Windows: C:\Program Files\Unity\Hub\Editor\[unity version]\Editor\Data\Resources\ScriptTemplates
MacOS: /Applications/Unity/Hub/Editor/[unity version]/Unity.app/Contents/Resources/ScriptTemplates
可以看到内置脚本模板:1-Scripting__MonoBehaviour Script-NewMonoBehaviourScript.cs.txt
自定义脚本模板⚓︎
- 使用
.txt
文件 - 使用特殊命名格式:
序号-菜单路径-脚本名.cs.txt
- 菜单路径层级使用
__
分隔
脚本文件内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// #SCRIPTNAME# 表示脚本名
public class #SCRIPTNAME# : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// #NOTRIM# 表示空一行
#NOTRIM#
}
// Update is called once per frame
void Update()
{
#NOTRIM#
}
}
注意
如果想要将脚本模板设置到某一个项目中,在 Assets/ 中创建文件夹 "Assets/ScriptTemplates",然后根据命名规则创建脚本模板文件,设置好脚本模板文件内容后,重启编辑器。
Editor Config⚓︎
.editorconfig
文件,在 Rider 中就等于代码样式检查设置,内部就是一个这样的文件。
可以在项目根目录下创建一个 .editorconfig
文件,并添加内容,具体内容可以让图形化配置好的 IDE 导出,然后分发给项目成员使用。
有关内容在书籍第37页。
Unity 的单元测试⚓︎
书籍第62页,链接比较多,可以参考。
Unity 单元测试文档 Unity 单元测试案例资源 通过 Roslyn 分析器确认代码质量文章 使用测试确保 Unity 项目质量 Speed up debugging with Microsoft Visual Studio Code How to debug code with Microsoft Visual Studio 2022 | Unity
Rosyln
通常在 Rider 中的那么建议,警告,错误的提示,就是来自 Rosyln 分析的结果。
UI Toolkit 命名约定⚓︎
暂时不需要,书籍第51页。