## 总体原则
1. **As short as possible(如无必要,勿增注释)**。尽量提高代码本身的清晰性、可读性。
1. **As long as necessary(如有必要,尽量详尽)**。合理的注释、空行排版等,可以让代码更易阅读、更具美感。
总之,注释的目的是:**提高代码的可读性,从而提高代码的可维护性。**
## 哪些需要注释
1. 某段代码的写法,需要注释说明原因时:
```js
// Using loop is more efficient than `rest = slice.call(arguments, 1)`.
for (i = 1, len = arguments.length; i < len; i++) {
rest[i - 1] = arguments[i];
}
```
2. 添加上注释,能让代码结构更清晰时:
```js
init: function(selector, context, rootjQuery) {
var match, elem, ret, doc;
// Handle $(""), $(null), or $(undefined)
if ( !selector ) {
...
}
// Handle $(DOMElement)
if ( selector.nodeType ) {
...
}
// The body element only exists once, optimize finding it
if ( typeof selector === "string" ) {
...
}
}
```
3. 有借鉴第三方代码,需要说明时:
```js
// Inspired by https://github.com/jquery/jquery/blob/master/src/core.js
function ready() {
...
}
```
4. 当有值的判断或者选择,有不同的分支时:
```js
// It need to do when the value of a is one or two.
if(a === 1 || a === 2) {
...
}
```
## 起始约定
每个源码文件的开头,保留为空:
```js
define('lego',[],function() {
// 源代码
});
```
注意点:
1. 文件头不注明Author信息,通过README来提供author & contributors。(组件规则,业务代码需要注明方便查看)
## 注释书写规范
1. 源码中的注释,推荐用英文。
2. 含有中文时,标点符号用中文全角。
3. 中英文夹杂时,英文与中文之间要用一个空格分开。
4. 注释标识符与注释内容要用一个空格分开:`// 注释` 与 `/* 注释 */`。
5. 单行注释用`// 注释` 与多行注视用 `/* 注释 */`区分开来,能够一行注视明白的不写过多注视
## JSDoc 注释
- 不推荐 JSDoc 式注释,推荐 Backbone 风格的注释。
- API 请通过 README 等文档表达清楚。
- 不写 JSDoc 类文档,可以让开发者在写代码时更专注于写代码,在写文档时则更专注于写文档。**让工作解耦,更专注。**
- 概要
- 技术介绍
- 框架与环境
- vue开发
- 开发规范
- 前端开发规范
- 总体原则
- HTML规范
- HTML&css规范
- vue编码规范
- Javascript规范
- 后端开发规范
- cap4
- 自定义控件
- 前端2.0(PC+移动)
- PC前端
- 后端
- 移动端
- 移动端接口
- 低版本协同升级到V5 8.0适配说明
- 自定义按钮
- 自定义按钮(无流程)
- 自定义控件(列表插槽)
- 自定义按钮(筛选条件)
- 低版本协同升级到V5 8.0适配说明
- 门户空间
- 门户与栏目挂载
- 栏目开发及流程说明
- 页面模板
- 客开通路及插件体系
- 表单设计器扩展配置
- 使用步骤
- 配置说明
- 事件API
- Demo示例
- 运行态客开通路
- 插件使用步骤
- 插件接口
- 事件接口
- 钩子相关接口
- 表单操作接口
- Demo示例
- 插件机制
- 表单运行态接口(旧)
- 白名单插件
- 版本记录
- vue组件库
- 开发指南
- 开发文档规范
- 业务组件介绍
- 业务组件
- table组件
- 分页组件
- title组件
- 统计排队组件
- code组件
- 条件筛选
- 批量导入
- 上传Excel
- 批量更新
- 批量刷新
- UI组件
- 按钮组件
- 复选组件
- 取色器组件
- 示例组件
- 水平选择组件
- 选图标组件
- 提示组件
- 单选组件
- 搜索组件
- 选择组件
- 穿梭框组件
- 标签组件
- 文本组件
- 树组件
- 验证组件
- 菜单组件
- iframe组件
- toolbar
- 统计组件
- 饼图
- 柱状图
- 图标
- 业务关系开发指南
- 自定义触发
- 自定义关联
- 后端API
- 更新表单数据缓存
- 发起表单流程
- 取得指定表单PDF或截图
- 无流程批量添加
- 无流程批量删除
- 无流程批量更新
- 无流程批量导出
- 客开培训文档
- Vue基础培训
- Vue实战培训
- Vue进阶培训
- VueCLI3培训
- cap3
- 自定义控件
- 后端
- 移动端
- 前端编译
- 表单运行态接口
- 协同云