### 代码编写规范

#### 1. 参照微软推荐编码规范及约定
* https://docs.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/identifier-names
* https://docs.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/coding-conventions
* https://docs.microsoft.com/zh-cn/dotnet/standard/design-guidelines/naming-guidelines

#### 2. 该项目扩展规范
* 枚举：命名以大写E为前缀，在文件列表中可以一目了然
* 方法命名方式：

新增：Addxxx  
删除：Removexxx  
修改：Updatexxx  
查询单条数据：Getxxx 
查询多条数据：Queryxxx  
查询所有数据：QueryAllxxx  
异步方法以Async为后缀：GetxxxAsync  
* WebApi和Web项目的Action都尽量采用异步方法，但命名不加Async后缀(因为此处的调用方不以Action命名来调用，而是以路由规则来访问)
* 字段以'_'加小写字母为前缀，如：_orderDomainService

### Git版本管理及使用规范

#### Git分支

master, hotfix, fix, dev, feature, release

| 分支 | 说明                                     |
|-----|----------------------------------------|
| master | 项目主分支，任何人不得直接修改代码，除项目负责人外任何人不得向该分支合并内容 |
| hotfix | 紧急bug修复分支，拉取自master                    |
| fix | 非紧急bug修复分支，拉取自dev                      |
| dev | 开发分支，开发环境共有分支，提供前后端对接环境                |
| feature | 功能开发分支，拉取自master或release               |
| release | 发布分支                                   |

#### 分支命名规范

前缀/功能

如：hotfix/add_order_error  feature/export_excel

#### 代码提交建议

fix, refactor(ref), feature(feat), performance(perf), style, docs, test, revert

| 关键词 | 说明 |
|-----|------|
| fix | 修复bug |
| refactor(ref) | 重构 |
| feature(feat) | 新功能 |
| performance(perf) | 优化、性能 |
| style | 代码样式调整 |
| docs | 文档相关的修改 |
| test | 测试 |
| revert | 版本回退 |

#### 代码提交流程

1. 代码修改以后，检查编码规范、注释以及进行单元测试等
2. 测试通过后提交到本地，检查提交文件是否正确，有无遗漏，添加commit说明
3. 拉取服务器代码，检查合并结果，解决冲突后重新编译测试通过后提交本地
4. 推送代码至服务器

#### 代码提交注意事项

* 单次提交问题必须为同一功能，建议不超过3个内容
* 提交得commit发现不符合规范，git commit --amend -m "新的提交信息"或 git reset --hard HEAD 重新提交一次