构建软件设计的方法有两种:一种是把软件做得很简单以至于明显找不到缺陷;另一种是把它做得很复杂以至于找不到明显的缺陷。
编码规范
编码规范包括编程风格、编程实践、文件和目录的规划以及注释等方面。
编程风格
第一章 基本的格式化
1.1 缩进层级
- 使用制表符(tab)进行缩进
- 优点
制表符和缩进层级一一对应,符合逻辑;
文本编辑器可以配置制表符的展现长度; - 缺点
系统对制表符的解释不一致;
- 优点
- 使用空格符进行缩进
- 优点
在所有的系统和编辑器中,文件的展现格式表现一致; - 缺点
部分文本编辑器,不支持设置Tab,手动空格缩进非常原始;
- 优点
1.2 语句结尾
以分号结尾
1.3 行的长度
单行长度不超过80-100个字符。(不同语言规范有所差异)
1.4 换行
在运算符后换行,下一行增加两个层级的缩进。
1.5 空行
使用空行分割,确保语义有关联的代码展现在一起,增强可读性。
- 方法之间
- 在方法中的局部变量和第一条语句之间
- 在单行或多行注释之前
- 在方法内的逻辑片段之间插入空行,提高可读性。
1.6 命名
JavaScript语言的核心ECMAScript,即是遵照了驼峰式大小写(Camel Case)
1.6.1 变量和函数
变量名前缀应当是名词
函数名前缀应当是动词
1.6.2 常量
使用大写字母和下划线来命名,下划线用以分割单词。
1.6.3 构造函数
在JavaScript中,构造函数是前面冠以new运算符的函数,用来创建对象。
构造函数的命名遵照大驼峰命名法(Pascal Case)
- Pascal Case以大写字母开始;
- Camel Case以小写字母开始;
1.7 直接量
1.7.1 字符串
字符串可以用双引号括起来,也可以用单引号括起来。
多行字符串:
- ES5
使用字符串连接符(+)将字符串分成多份。 - ES6
使用模板字符串
1.7.2 数字
在JavaScript中的数字类型只有一种,因为所有数字形式(整数和浮点数)都存储为相同的数据类型。
- 不要省略小数点之前或之后的数字。
- 不推荐使用八进制数字写法
1.7.3 null
将null当做对象的占位符
应当使用null:
- 用来初始化一个变量,这个变量可能赋值为一个对象;
- 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象;
- 当函数的参数期望是对象时,用作参数传入;
- 当函数的返回值期望是对象时,用作返回值传出。
不应当使用null:
- 不要使用null来检测是否传入了某个参数;
- 不要用null来检测一个未初始化的变量;
1.7.4 undefined
避免使用undefined
1.7.5 对象直接量
对象直接量允许将所有的属性都括在一对花括号内。
1.7.6 数组直接量
使用两个方括号将数组初始元素括起来。
网友评论