Files
RootPanel/DOC/Coding-Style.md
2014-10-24 08:54:27 +08:00

48 lines
1.6 KiB
Markdown

## 文件
* .md 使用 4 空格缩进,文件名使用大驼峰用连字符分割
* .coffee, *.js, *.json, *.html, *.less, *.jade 使用 2 空格缩进,文件名使用全小写用下划线分割
* bin/*.coffee 文件名使用连字符分割;若 .coffee 的内容是一个类,则使用类名作为文件名
* 总是在文件末尾添加换行符
## 依赖
* 加入依赖时注意检查必须允许发布闭源版本,即不能使用以 GPL 授权的依赖
## 命名
* 尽量不缩写术语
* 总是使用 `callback` 命名回调函数
* 总是用 `t_` 前缀表示这是一个待翻译的字符串 ID
## 注释
* 复杂的函数前,以注释标出参数的结构,和回调函数的参数
* 其他部分如非必须,不写注释,注释只使用英文
## JavaScript
* 优先使用单引号,总是在行末添加分号
* 总是使用 underscore 来进行类型判断
## Node.js
* 只在初始化时使用 Sync 版本的 IO 函数
## Coffee Script
* `,`, `:` 之前不加空格,之后总是添加空格;`->` 前后均加空格
* 不可以出现空的参数列表
* 不在行末添加分号,不在一行内使用分号分割两行代码
* 类名使用大驼峰命名,如 `SampleClass`
* 优先使用单引号
* 总是省略所有跨行的括号和花括号,尽可能省略掉函数调用的括号
* 变量名使用全小写用下划线分割,函数名使用小驼峰
* 若未处理回调函数的异常,添加 `console.error err if err`
## HTML
* CSS class 和 ID 命名使用全小写用连字符分割
* 输入控件使用 `input-` 前缀,按钮和动作使用 `action-` 前缀
* 尽量使用 class 而不是 ID