JavaScript编程规范
当你开始工作时,你不只是在给你自己写代码 ,最主要是为后来人写代码. 程序是写给人读的,只是偶尔让计算机执行一下.
前言
提示:范围Scope:
统一JavaScript编程风格。
提高JavaScript代码的可读性.
提高JavaScript代码的可维护性.
一、文件及文件夹命名规范
js文件名以小写字母开头采用驼峰式定义,禁止使用缩写或单词首字母组合的方式.
代码如下(示例):
dataGrid.js // ok
DataGrid.js // avoid
dg.js // avoid
2.文件夹命名
文件夹的命名没有绝对的对错,在开源社区里既有串式命名法(kebab-case) 也有小驼峰命名法(lowerCamelCase)
我们最后选择了串式命名法,原因是文件夹的名字其实不会被用作变量,所以不用在意是否有特殊符号,再者中间的横杠能清楚地分割每一个单词,能够让看代码的人快速看清楚文件夹的名字
二、变量命名规范
1.常量定义
1.常量名必须采用大写字母,以便和变量区别
2.常量名必须采用完整的英文单词,或者常用的缩写,能够从字面上理解其意义.禁止随意使用英文单词首字母组合的方式.
3.如果常量名含有2个或2个以上的英文单词,单词之间必须用下划线"_"分割
4.在es6语法环境下,常量命名使用const
const LMO_LASTCLICKITEM_KEY = "lastClickItem"
2.变量定义
1.变量前缀
变量定义需要区分类型,增加类型前缀.前缀主要s(string),a(array),b(boolean),n(number),o(object),fn(function)
2.所有的变量定义使用有意义的词,最好增加定语前缀,如sBtnColor,sXxxName,尽量避免像color,name这样的变量,避免常用单词和JavaScript的关键字,如in,out,if,do,for等.
2.变量一般放在函数的开始,全局变量放在文件的开头.
3.变量民采用小驼峰式(camelCase)定义.
3.全局变量定义
以g_开头,后面与局部变量相同.如 let g_sClassName;
4.局部变量定义
定义: 类型+变量名称.如:
let sDepartName;
let nDivWidth;
let bFirst;
5.函数定义
1.函数名采用小驼峰式定义.禁止使用单词首字母组合的方式定义.
2,对于具有返回值,且返回值不为boolean型的函数,其名称必须以"get"开头
function getParentNode(node) {
...
}
3.对于具有返回值,且返回值为boolean型的函数,其名称必须以"is",“can”,"has"开头
function isLeafNode(node) {
...
}
function canModify(node) {
...
}
4.具有初始化功能的函数,其名称必须以"init"或者"initalize"开头
function initToolBar() {
...
}
6.事件
1.对事件的调用函数,命名以handle+event格式命名,如handleChange.
2.事件处理程序都提供参数event.
3.使用Before.After表示事件发生的时间顺序,如onBeforeSave.onAfterSave
4.采用驼峰式大小写命名