naming conventions - woodelf-treetop/rcwiki GitHub Wiki
- 驼峰命名法:camelNomenclature,简称小写开头
- 帕斯卡命名法:PascalNomenclature,简称大写开头
- 全大写加下划线:ALL_UPPER,简称全大写
客户端主要使用C#和lua,共有规则如下:
- 常量用全大写加下划线,变量用驼峰
- 函数、类、结构用Pascal,参数用驼峰
- 数组类型变量带List后缀,字典类型变量带Dic后缀
- delegate类型,用Pascal带Delegate后缀,它的实例带Callback后缀
- 枚举用Pascal带Enum后缀,枚举值用全大写加下划线
- 下划线用法:在字母和数字之间、大写字母之间,需用下划线衔接(m_PrivateVariable用法允许,但不建议,推荐privateVariable)
lua如下规则需重点注意:
- 禁用 this
- 私有函数添加 local 关键字,写成本地函数
其余规则见范例——
using System.Collections.Generic;
using UnityEngine;
//枚举以Enum结尾
//枚举值全部大写,单词间以“_”分隔
public enum TestEnum {
ENUM_1,
ENUM_TEST,
}
//接口必须以I开头
public interface ITestInterface {
}
//类名大写开头
public class NewBehaviourScript {
//delegate类型,首字母大写,以Delegate结尾
public delegate void TestDelegate(string testParam);
//以Callback结尾,首字母小写
public TestDelegate testCallback;
//常量,属性名,全字母大写,单词间以“_”分隔
private const int CONST_INT = 1;
//私有属性,首字母小写
private string testString;
//List类型,属性名以List结尾
private List<string> testList;
//Dictionary类型,属性名以Dic结尾
private Dictionary<int, int> testDic;
//这种写法只用于,要在unity面板中操作
public GameObject obj;
//公有属性,除了需要显示在面板中的,必须写成get/set
public int testInt {
get;
set;
}
//公共属性,不简略的写法。mTestFloat
private float mTestFloat;
public float testFloat {
get {
return mTestFloat;
}
set {
mTestFloat= value;
if (mTestFloat < 0) {
mTestFloat= 0;
}
}
}
//方法首字母大写,参数首字母小写
public void TestFunction(int testParam) {
}
}-- 全局table大写开头
TestLuaTable = {}
-- 变量小写开头
local testVari = 1
TestLuaTable.testVariInTable = 2
-- 通过命名区分table是数组还是字典
local somethingList = {}
local somethingDic = {}
-- 函数大写开头,参数小写开头
local function TestFunc ( testParam )
-- 局部函数
end
function TestLuaTable.testFuncInTable( testParam )
-- 给外界调用的函数
end
-- 枚举用Pascal,并以Enum结尾
TestLuaTable.TestEnum = {
-- 枚举key用全大写加下划线,枚举value建议用同名全小写加下划线
JUST_TEST = "just_test",
ANOTHER_CASE = "another_case",
}
return TestLuaTable