了解codereview时整理的js规范
code review(代码回顾审查)
目的:
1.发现代码潜在问题(逻辑业务等)
2.促进团队内部知识分享(设计思路,技术等)
3.提高开发人员对待自己编写代码的态度
4.规范代码,减少新人上手成本
目前个人情况:
1.主要使用vue框架
2.编码规范为jslint
3.代码新手 格式规范为jslint,其他命名规范、封装规范、引用规范等经验为0
4.参考文档为 百度的js规范
具体实施:
1.包括:以接口为目录整理前端功能;组件抽象整理;js代码精简整理;命名规范整理(目标是统一)
命名:
1.变量:驼峰(Camel)
2.常量:全部大写字母,单词间下划线分割
3.函数名+参数:驼峰命名 函数名建议动宾短语
4.bool型变量:用is或者has开头
5.promise对象:用动宾短语进行时表示:loadingData
注释:
1.单行注释 //
2.多行注释 多个单行注释
3.块注释
4.文件注释 块注释中@file+@author
5.函数注释 块注释中:函数说明+@param {type} 说明+@return {type} 说明
6.细节注释 函数内部的解释 使用//
7.特殊标记 TODO/FIXME/HACK/XXX 有功能未完成+描述/需要修正+描述/黑客方法+描述/陷阱+描述
语言特性:
变量
1.变量即用即声明
2.全局变量记得注释
条件
1.用switch代替if(增加代码可读性)
2.可删除else(else没有内容的话)
循环
1.不可在循环中包含函数表达式,将其提取到循环外
2.循环内多次使用的不变值,提到循环外用变量缓存
3.数组length也提前缓存for (var i = 0, len = elements.length; i < len; i++)
4.数组遍历与顺序无关时尽量使用倒序遍历,节省变量
var len = elements.length;
while (len--) {
var element = elements[len];
// ......
}
类型
1.类型检测
优先使用typeof,对象类型检测使用instanceo