Unity 开放项目之开发规范

2021-02-23  本文已影响0人  烂醉花间dlitf

介绍

本套开发规范来自 unity 官方的一个开放项目,涉及到代码中的命名语义,大小写;编程的设计规范;

命名 & 大小写

他们主要是采用的 .NET standards,然后添加了一些自己的改动。所以这里也先介绍一下 .NET 的规范,然后 Open Project 会有一些补充或者改动。

.NET standards

类、结构、接口

方法名

public class String {
    public int CompareTo(...);
    public string[] Split(...);
    public string Trim();
}

属性名

命名:

public enum Color {...}
public class Control {
    public Color Color { get {...} set {...} }
}

事件

字段

这里只针对 public staticprotected static 的字段;对于 public staticprotected static 的字段,根据规范就不要这么使用,要使用的话应该是通过属性;对于 private 或者 internal 的字段,不论是否是 static 都不在这里讨论的范围内。

参数

开放项目

语义

开放项目的规范是基于 .Net 标准规范,但也有一些补充的或者更改的地方。

Color _gameTitleColor;
String _gameTitleString;
TextMeshProUGUI _gameTitleText;

大小写

编程规范

namespace UOP1.Dialogues.Helpers;

格式

public class EmptyBraces(){ };
public class NonEmptyBraces
{
//...
}
public void FunctionName()
{
    if(somethingHappened)
    {
        //...
    }
}

注释

/// <summary>
/// This class manages save data
/// </summary>
/// <summary> This function does this... </summary>
public float CalculateBoundingBox(){ }

场景/Hierarchy

组织

命名

项目文件

命名

文件夹

下面是一个示例文件夹结构:

📁 Art
⸺📁 Characters
⸺⸺📁 PigChef
⸺⸺⸺📁 Materials
⸺⸺⸺📁 Prefabs
⸺⸺⸺📁 Textures
⸺📁 Environment
⸺⸺📁 Interiors
⸺⸺📁 Nature
⸺⸺⸺📁 Materials
⸺⸺⸺📁 Prefabs
⸺⸺⸺📁 Textures
⸺⸺📁 Props
📁 Scenes ⬅
⸺📁 Examples ⬅
⸺📁 Locations
⸺📁 Menus
📁 ScriptableObjects (the data) ⬅
⸺📁 Audio
⸺📁 InventoryItems
📁 Scripts ⬅
⸺📁 Audio
⸺📁 Events
⸺📁 InventorySystem
⸺⸺📁 ScriptableObjects (definition)
⸺📁 SceneManagementSystem
📁 UI ⬅
⸺📁 Materials

上一篇 下一篇

猜你喜欢

热点阅读