• 命名规范
    • 概述
    • 类名及函数
    • 变量,常量及属性
    • 枚举
    • 命名空间
    • 文件

    命名规范

    本文档描述了CatLib框架中的命名规范。

    如果您要为为 CatLib 发起贡献,您必须遵循这份命名规范文档。

     

    如果没有明确指定访问级别(public|private等)则表示对所有访问级别生效。

    概述

    • 代码必须使用4个空格缩进,而不要使用制表符(tab)
    • 使用using XXX,而不是new XXX.xxx()
    • {}必须换行,且内部代码顶格书写

      1. if(true)
      2. {
      3. var tf = true;
      4. }
    • 使用///代码进行注释

      1. /// <summary>
      2. /// 这里对代码进行了注释
      3. /// </summary>
      4. public string VariableName = "VariableName";
    • 对于容易产生歧义的表达式您应该使用括号包裹

      1. if(variable1 + (++variable2) > 0)
      2. {
      3. }
    • 模板必须为TStudlyCaps(驼峰式大写)以T开头

      1. public class Bootstrap<TType>
      2. {
      3. }
    • 接口必须为IStudlyCaps(驼峰式大写)以I开头

      1. public interface IBootstrap
      2. {
      3. }

    类名及函数

    • 类名必须为StudlyCaps(驼峰式大写)

      1. public class Bootstrap
      2. {
      3. }
    • 函数名必须为StudlyCaps(驼峰式大写)

      1. public void MyFunc()
      2. {
      3. }

    变量,常量及属性

    • 公共变量名必须为StudlyCaps(驼峰式大写)

      1. public string VariableName = "hello";
    • 受保护变量名必须为StudlyCaps(驼峰式大写)

      1. internal string VariableName = "hello";
      2. protected string VariableName = "hello";
      3. protected internal string VariableName = "hello";
    • 私有变量名必须为camelCase(驼峰式小写)

      1. private string variableName = "hello";
    • 属性名必须为StudlyCaps(驼峰式大写)

      1. public string VariableName{ get; set; }
    • 静态变量常量必须为StudlyCaps(驼峰式大写)

      1. public const string VariableName = "hello";
      2. public static readonly string VariableName = "hello";
      3. public static string VariableName = "hello";
      4. internal const string VariableName = "hello";
      5. protected const string VariableName = "hello";
      6. private const string VariableName = "hello";
    • 参数必须为camelCase(驼峰式小写)

      1. public void FunctionName(Action callFunction)
      2. {
      3. var localVariable = callFunction;
      4. }

    枚举

    • 枚举名必须为StudlyCaps(驼峰式大写)

      1. public enum ApplicationEvents
      2. {
      3. }
    • 枚举元素名必须为StudlyCaps(驼峰式大写)

      1. public enum ApplicationEvents
      2. {
      3. OnStart = 1,
      4. OnInited = 2,
      5. }

    命名空间

    • 代码必须在项目名的根命名空间中

      1. namespace CatLib
      2. {
      3. }
    • 组件代码必须在项目名.组件名的命名空间中

      1. namespace CatLib.Routing
      2. {
      3. }

    文件

    • 文件名必须和类名一致
    • 文件必须只使用UTF-8而不使用BOM代码
    • 一个文件中不能出现2个及以上的类,除非它是内部类或者类的重载