142 lines
2.6 KiB
Markdown
142 lines
2.6 KiB
Markdown
# BF项目命名约定
|
||
|
||
## 缩写
|
||
* 尽量不要缩写名字,尽可能描述清楚。
|
||
|
||
## 命名方法
|
||
* Pascal命名法:每个单词首字母大写,也称为大驼峰命名法。
|
||
* Camel命名法:第一个单词首字母小写,其余单词首字母大写,也称为小驼峰命名法。
|
||
|
||
## 文件夹命名
|
||
1. 所有资源文件夹命名都使用小写加下划线。
|
||
2. c#代码的文件夹命名,使用英文全拼,遵循Pascal命名法。
|
||
|
||
## 文件命名
|
||
1. 资源文件采用全小写加下划线的规范:
|
||
```
|
||
battle_background.png
|
||
game.lua
|
||
login_notice.prefab
|
||
```
|
||
2. c#代码文件采用Pascal大驼峰命名法
|
||
```
|
||
LuaBehaviour.cs
|
||
```
|
||
|
||
## 代码缩进
|
||
* 使用4个空格,在编辑器里设置tab缩进为4个空格即可。
|
||
|
||
## C#代码命名规范
|
||
### 命名空间
|
||
* 使用BF命名空间
|
||
```
|
||
namespace BF{
|
||
}
|
||
```
|
||
|
||
### 类
|
||
* 使用Pascal大驼峰命名法。
|
||
```
|
||
public class ResourceManager
|
||
```
|
||
|
||
### 接口
|
||
1. 使用Pascal大驼峰命名法。
|
||
2. 接口开头用I。
|
||
```
|
||
Public interface IResourceManager
|
||
```
|
||
|
||
### 枚举
|
||
1. 枚举类型和枚举常量都使用Pascal大驼峰命名法。
|
||
2. 不需要在类型或者枚举常量的前后加上Enum前缀。
|
||
```
|
||
public enum ColorMode
|
||
{
|
||
Single,
|
||
HorizontalGradient,
|
||
VerticalGradient,
|
||
FourCornersGradient
|
||
}
|
||
```
|
||
|
||
### 函数
|
||
1. 函数名使用Pascal大驼峰命名法。
|
||
2. 参数使用Camel小驼峰命名法
|
||
```
|
||
public void SendMessage(string messageBody)
|
||
{
|
||
|
||
}
|
||
```
|
||
|
||
### 委托和事件
|
||
* 使用Pascal大驼峰命名法。
|
||
```
|
||
public event Action TestEvent;
|
||
```
|
||
|
||
### 属性
|
||
* 使用Pascal大驼峰命名法。
|
||
```
|
||
public string Name
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
````
|
||
|
||
### 变量
|
||
1. 使用Camel小驼峰命名法。
|
||
2. 尽量用属性代替公有变量。
|
||
```
|
||
private int tag;
|
||
public string equipName;
|
||
```
|
||
3. 静态变量使用Pascal大驼峰命名法。
|
||
```
|
||
public static string Name;
|
||
```
|
||
|
||
### 常量
|
||
* 所有单词大写,多个单词之间用下划线隔开。
|
||
```
|
||
public const int PAGE_INDEX = 1;
|
||
```
|
||
|
||
## Lua代码命名规范
|
||
### 类名
|
||
* 使用Pascal大驼峰命名法。
|
||
```
|
||
local ResourceManager = {}
|
||
return ResourceManager
|
||
|
||
local Item = class("Item")
|
||
return Item
|
||
```
|
||
|
||
### 变量
|
||
1. 全局变量使用Pascal大驼峰命名法。
|
||
2. 不允许直接定义全局变量,使用BF.exports
|
||
```
|
||
BF.exports.ResourceManager = require "app/common/resource_manager"
|
||
```
|
||
3. 局部变量使用Camel小驼峰命名法。
|
||
```
|
||
local equipName = equipObject:getEquipNma()
|
||
```
|
||
|
||
### 函数
|
||
1. 函数名使用Camel小驼峰命名法
|
||
2. 参数使用Camel小驼峰命名法
|
||
```
|
||
function ResourceManager:loadAssetBundle(assetBundlePath)
|
||
|
||
end
|
||
```
|
||
|
||
### 常量
|
||
* 所有单词大写,多个单词之间用下划线隔开。
|
||
```
|
||
local QUALITY_RED = 1
|
||
``` |