编写可维护的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 数组直接量

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每个人都有固定的一套编码习惯,但在团队协作过程中,则需要每个人都遵守统一的编码约定和编程方法。 编程风格 基本的格...
    jia林阅读 523评论 2 2
  • 【百日行动03】 焦大者,“骄大”也,顾名思义是“骄傲自大”的戏谑。 一个人骄傲自大无外乎有三种情况:一是,恃宠而...
    绣一针阅读 348评论 0 1
  • 可惜我们都不是。 情深不寿,慧极必伤,说的才是自己。 “每一次告别,最好用力一点。多说一句,可能是最后一句。多看一...
    维酥德瓦阅读 752评论 0 5
  • 偶书
    南儋渔夫阅读 465评论 0 3
  • 第四章、孔子:第一位教师 第五章、墨子:孔子的第一位反对者 第六章、道家第一阶段:杨朱 《中国哲学简史》读书笔记全...
    MaggieChang阅读 5,628评论 0 10