编写可维护的JavaScript(一)

构建软件设计的方法有两种:一种是把软件做得很简单以至于明显找不到缺陷;另一种是把它做得很复杂以至于找不到明显的缺陷。

编码规范

编码规范包括编程风格、编程实践、文件和目录的规划以及注释等方面。

编程风格

第一章 基本的格式化

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 数组直接量

使用两个方括号将数组初始元素括起来。

你可能感兴趣的:(编写可维护的JavaScript(一))