第一部分  编程风格

 

第1章  基本的格式化

 

1.1  缩进层级

统一缩进层级。

主张两种缩进层级

  • 使用制表符进行缩进
  • 使用2/4/8个空格缩进

推荐使用4个空格字符作为一个缩进层级

//不好的示例

《编写可维护的JavaScript》笔记 - 编程风格

//好的示例

《编写可维护的JavaScript》笔记 - 编程风格

 

1.2  语句结尾

推荐总是以“;”结尾,如果省略了分号,JSLint和JSHint默认都会有警告。

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

 

1.3  行的长度

推荐将行长度限定在80个字符

 

1.4  换行

当一行长度达到了80个字符时,需要手动将一行拆成两行。通常会在运算符后换行,下一行会增加两个层级的缩进。

《编写可维护的JavaScript》笔记 - 编程风格

在下面这段代码中,if条件语句被拆成了两行,断行在&&运算符之后。if语句的主体部分依然是一个缩进,这样更容易阅读。

《编写可维护的JavaScript》笔记 - 编程风格

当给变量赋值时,第二行的位置应当和赋值运算符的位置保持对齐。

《编写可维护的JavaScript》笔记 - 编程风格

 

1.5  空行

建议在以下场景中添加空行:

  • 在每个流程控制语句之前(if和for语句)
  • 在方法之间
  • 在方法中的局部变量和第一条语句之间
  • 在单行/对行注释之前
  • 在方法内的逻辑片段之间

《编写可维护的JavaScript》笔记 - 编程风格

 

1.6  命名

  • 采用驼峰式命名法
  • 变量使用名词开头
  • 函数使用动词开头
  • 单个字母(i、j、k)用于循环
  • 常量使用大写字母和下划线命名(如MAX_COUNT)
  • 构造函数使用大驼峰命名法(如Person)
  • 命名长度尽可能短且抓住要点,避免没有意义的命名

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

以下是函数命名使用动词开头常见的约定

《编写可维护的JavaScript》笔记 - 编程风格

 

1.7  直接量

字符串:

  • 字符串通篇使用单引号(双引号)包裹,避免穿插使用单引号和双引号
  • 多行字符串使用字符串拼接符(+)将字符串分成多份

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

数字:

  • 不要省略小数点之前或之后的数字
  • 最好在代码中禁止使用八进制直接量

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

null:

最好的方式是将它当做对象的占位符。在下列场景中使用null:

  • 用来初始化一个变量,这个变量可能被赋值为一个对象
  • 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象
  • 当函数的参数期望是对象时,用作参数传入
  • 当函数的返回值期望是对象时,用作返回值传出

在下列场景中不应当使用null:

  • 不要使用null来检测是否传入某个参数
  • 不要用null来检测一个为初始化的变量

《编写可维护的JavaScript》笔记 - 编程风格

undefined:

每一个没有被初始化的变量都有一个初始值,即undefined。

应尽量避免或禁止在代码中使用undefined,这个值常常和返回“undefined”的typeof运算符混淆。

如果使用了一个可能(或可能不会)赋值为对象的变量时,则将其赋值为null

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

对象直接量:

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

数组直接量:

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

 

 

第2章  注释

 

2.1  单行注释

单行注释有三种使用方法:

  • 独占一行的注释,用来解释下一行代码。这行注释之前总是有一个空行,且缩进层级与下一行代码保持一致
  • 在代码行的尾部的注释,代码结束到注释之间至少有一个缩进。注释(包括之前的代码部分)不应当超过单行最大字数限制(80),如果超过了,就将这条注释放置于当前代码行的上方
  • 被注释掉的大段代码(很多编辑器都可以批量注释多行代码)

《编写可维护的JavaScript》笔记 - 编程风格

 

2.2  多行注释

多行注释可以包裹跨行文本,以下这些都是合法的注释

《编写可维护的JavaScript》笔记 - 编程风格

但更推荐下面这种写法

《编写可维护的JavaScript》笔记 - 编程风格

以下是建议遵循的多行注释规范:

  • 在注释会左侧加上星号*
  • 总是出现在将要描述的代码段之前,注释和代码之间没有空行间隔
  • 多行注释前应当有一个空格
  • 缩进层级与其描述的代码保持一致

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

 

2.3  使用注释

添加注释的一般原则是

  • 在需要让代码变得更清晰时添加注释
  • 在难以理解的代码前添加注释
  • 在可能被误认为错误的代码前添加注释
  • 浏览器特性hack

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

在难以理解的代码前添加注释

《编写可维护的JavaScript》笔记 - 编程风格

在可能被误认为错误的代码前添加注释

《编写可维护的JavaScript》笔记 - 编程风格

浏览器特性hack

《编写可维护的JavaScript》笔记 - 编程风格

 

2.4  文档注释

推荐使用文档生产工具来为你的javascript生成文档。

推荐使用javaDoc文档格式:

  • 多行注释以单斜线和双星号(/**)开始
  • 描述信息使用@符号来表示一个或多个属性

《编写可维护的JavaScript》笔记 - 编程风格

《编写可维护的JavaScript》笔记 - 编程风格

当使用文档注释时,确保对如下内容添加注释:

  • 所有的方法:应当对方法、期望的参数和可能的返回值添加注释描述
  • 所有的构造函数:应当对自定义类型和期望的参数添加注释描述
  • 所有包含文档化方法的对象:如果一个对象包含一个或多个附带文档注释的方法,那么这个对象也应当适当针对文档生产工具添加文档注释

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-28
  • 2022-01-22
相关资源
相似解决方案