做着做着发现命名规则有必要统一一下,至少我本人需要统一一下,不能再随意命名了。本篇会根据开发过程中发现的命名问题,持续制定规则。
脚本规范如下:
namespace:无特殊情况不使用namespace,中小型项目并不需要专门搞个namespace,输出插件之类的再考虑namespace。
类名:跟大家一样,类名使用驼峰命名,首字母大写,单词必须有意义,如public class ObjectPool。
方法名:和类名一样,驼峰命名,首字母大写,如CreateObject()。
全局变量名:差异最大争议最多的就是变量名了,这里个人用下来感觉还是以m_后面大写单词的形式最好,如m_PoolCache。避免生成public变量,需要访问的均以属性访问即可。
局部变量名:首个单词首字母小写,后面的单词首字母大写。这个争议不大。
属性名:与类名一样,驼峰命名,首字母大写,如PoolCache。
需要为每个public的对象(类、属性、变量等)作三斜杠备注,需为所有参数释意。
单例代码经规范后示范如下:
namespace EeveeFramework
{
/// <summary>
/// 单例基类
/// </summary>
/// <typeparam name="T">T</typeparam>
public abstract class Singleton<T> where T : Singleton<T>, new()
{
//实例对象
protected static T m_Instance = null;
/// <summary>
/// 构造函数
/// </summary>
protected Singleton()
{
}
/// <summary>
/// 实例
/// </summary>
public static T Instance
{
get
{
if (m_Instance == null)
{
m_Instance = new T();
}
return m_Instance;
}
}
}
}
然后可以在VS的查看-设计,去检查一下是否所有变量、函数、属性名都设置正确:

文件夹规范如下:
【规则1-1】Assets目录中的所有资源文件名(场景、脚本、预设、模型、网格、纹理、材质、精灵、着色器、音频剪辑、视频剪辑)均采用 大驼峰式命名法 ,即每一个单词的首字母都大写。且使用能够描述其功能或意义的英文单词或词组。
image.png
【规则1-2】资源文件属于同一类型,需要添加编号加以区别的情况下,采用后缀下划线”_”加两位数字进行编号。
【规则1-3】Assets目录中不得出现压缩包、PPT、Word文档等与游戏项目无关的资源文件。
【规则1-4】Assets根目录下的文件夹分类如下,根据资源文件使用的目的分类:
image.png
文件夹说明(01-7为自定义文件夹,最后4个为默认目录,即系统可识别文件夹):
【01.Scenes】:存放所有场景(Scene)文件,统一管理,方便快速寻找并打开场景。
【02.UI】:存放与游戏界面(UI)相关的资源文件,比如按钮,图标,输入框,列表等。
【Audios】:UI相关的音效。
【Fonts】:字体。
【Materials】:UI相关的材质。
【Shaders】:UI相关的shader。
【Sprites】:精灵。
【Textures】:某些背景图大图、加载图片等。
【03.Resources】:存放场景中UI以外的资源文件,比如模型、音频、材质等。
【Animations】:动画。
【Animators】:动画控制器。
【Audios】:音频文件、配音、音效。
【Materials】:材质。
【Models】:模型资源。
【Prefabs】:预设。
【Shaders】:Shader。
【Textures】:图片、贴图资源。
【04.Scripts】:Editor以外所有自写脚本。
【05.Tools】:下载的插件或自写的插件。
【06.Others】:存放不知道如何归类的资源文件。
【07.Temps】:临时文件夹,(发布前)处理无用资源时优先删除。
【Editor】:插件目录,该目录在编译项目时,会优先编译,方便项目中代码调用。 StreamingAssets
【Plugins】:该目录下的代码可调用Unity Editor 的API,存放扩展编辑器的代码。编译时不会被打包到游戏包中。
【Resources】:项目中默认的资源路径,会直接打包到游戏包中,并且可在脚本中加载该目录下的资源。
【StreamingAssets】:需要StreamingAssets加载的资源。
这是我已经按照上述规则创建好的文件夹命名示例:
链接: https://pan.baidu.com/s/19XI3gaqU3Hq2JA-QCO_p_w
提取码: s5f2
网友评论