计划
- 抛出自定义错误
基础
基本的格式化
- 统一缩进
- 使用Tab或者几个空格字符代表缩进,但是选择一种统一的
- 使用分号结尾
- 行的长度 80字符以内,长符号用“+”分割
- 换行缩进 (即换行第二行两个缩进比较清晰)
- 添加空行,提高可读性
- 变量命名
- 驼峰命名
- 变量名,使用驼峰
- 变量前缀应当是名词。
- 函数前缀应当是动词,一般常用的约定,can,has,is,get,set
- 常亮 的命名方式
- 构造函数 以大写开头的函数名
- 直接量
- 数字
- null使用场景?当做占位符
- 初始化可能赋值对象的变量
- undefined
//
var found = true;
// 不好的命名,看起来像函数
var isFound = true;
// 常量
var MAX_COUNT = 10;
// null的好用法
var person = null;
function getPerson(){
if(condition){
return new Person("Nicholas)
} else {
return null;
}
}
// null的好用法
ver person = getPerson()
if(person !== null){
doSomething();
}
注释
2.1 单行注释
2.2 多行注释
2.3 使用注释的场景
- 难于理解的代码
- 可能被误认为错误的代码
- 浏览器特性 hack
- 文档注释
Added
- 特定的业务逻辑
语句和表达式
2.1 花括号对其方式
2.2 块语句间隔
2.3 switch语句
- 缩进
- 连续执行
- default
for in
变量,函数和运算符
编程实践
避免空比较
各种检测,检测原始值,引用值,函数的方法
将配置数据从代码中分离出来
配置数据是应用中写死(hardcoded)的值。
- URL
- 需要展示给用户的字符串
- 重复的值
- 设置(比如每页的配置项)
- 任何可能发生变更的值
function validate(value) {
if(!value){
alert("Invalid value");
location.href = "/errors/invalid.php"
}
}
// 抽离配置数据
var config = {
MSG_INVALID_VALUE: 'Invalid value',
URL_INVALID: '/errors/invalid.php
}
配置数据最好放在单独的文件中,以便清晰地分离数据和应用逻辑。