1. 代码基本格式
- 缩进使用4个空格,以兼容各种编辑器。如vim默认tab缩进8个空格,.vimrc配置tab缩进为4个空格
- class, function间必须有层次关系
- 各模块之间必须有1行间隔,如:各function之间间距 1 行
- 大中小括号{ [ ( ) ] },括号外围加空格间隔,等号”=”左右必须有空格隔开
- 逗号 “,” 后空一格
|
|
if
- if小括号接大括号”{“,else if/else同上,请在大括号后加上条件注释,判定条件过多可用switch语句1234567if (conditions) { // 这里记得注释条件// your code} else if (conditions) { // 这里记得注释条件// your code} else {// your code}
switch
- 需要加上参数描述,以及条件注释12345678switch (param) { // 参数描述case 1: // 条件注释// your codecase 2:// your codedefault:// your code}
key-value格式
- 数组、json对象需要赋值时,请根据情况适当使用回车键,方便查找、更改、注释12345$test = array( // 此时使用array而不是用中括号'1' => 'a','2' => 'b');
|
|
2. 注释规范
单行注释统一在代码后空一格写注释,块注释星号后要空格
123/* 块注释占用一行或多行 */$example = 'example'; // 这是个例子每个function前必须有功能描述以及作者和联系方式
12345678910/*** 测试用 <--此处为功能描述* @author xxx xxx@email.com <--作者、联系方式* @param {*} param1 括号填上参数类型* @param {*} param2 括号填上参数类型*/function test( param1, param2 ){// your code}在更改别人的代码时,请注释标明更改者、联系方式、更改时间、更改区域,使用块注释注释原来代码,请勿删除原代码
1234567891011121314/*** 测试用 <--此处为功能描述* @author xxx xxx@email.com <--作者、联系方式* @param {*} param1 括号填上参数类型* @param {*} param2 括号填上参数类型*/function test( param1, param2 ){/* echo '原代码';*/// @editor xxx, edited_time:1970.1.1// start>>>echo 'hello World';// <<<end}
3. 命名规范
变量命名
命名使用 驼峰命名法
1234function PrintHelloWorld() // 类使用大驼峰命名法{$testData = 'hello world'; // 变量使用小驼峰命名法}常量全部大写
- 命名要求准确地表达变量意义,不能过度缩写,如意义相同使用下划线+数字方法区分变量12345var n; // 错var num; // 看情况var number; // 对var num_1 = '1';var num_2 = '2';
数据库及字段命名
- 表名各单词间使用下划线连接,小写
- 字段命名使用用下划线区分单词,小写
4. 代码功能要求
- 需要处理相同逻辑时,代码不应重复出现
- ”一行代码能解决的事就不用两行“
统一接口返回格式为
12345{ // jscode: 200,message: 'ok'data: 'data here'}每次协作开发前统一code
- 后台能解决的事情别要求前端去解决
5. 接口文档编写规范
文档的编写也是开发过程之一,在完成代码部分后,一份好的文档直接向别人展示了你的水平。接口文档你可以用Markdown来写,也可以用office来写。Markdown语法参考
接口文档要求接口功能描述清晰、参数完整,可读性强,对接时推荐使用表格形式,以下为基本要求
| 接口名称 | url | 请求方式 | 请求参数 | 返回参数 | 备注 |
|---|---|---|---|---|---|
| 登录 | login | post | username, password | 200,500 | 测试 |
返回参数应提供一个示例12345{ code: 200, message: 'ok' data: 'data here'}
- 文档命名时请自定义版本号,文档内容标注好日期以及撰写人
6. 协作要求
- 熟练使用git
- 必须使用git控制版本,完成某个任务后,提交代码至仓库请为每个改动文件添加变动描述
- 分模块协作时,自创建不同分支完成不同模块后,再提交合并,以防代码冲突和覆盖
- 善用worktile、trello等等协作工具,微信交流方便,但是易忘、不方便总结
- 严禁在服务器直接更改、上传代码
2017.08.23 by 古毅