JavaScript的最佳实践

可维护性

在早期网站中,JavaScript主要用于实现一些小型动效或表单验证。今天的Web应用程序则动辄成千上万行JavaScript代码,用于完成各种各样的复杂处理。这些变化要求开发者把可维护能力放到重要位置上。

编写可维护的代码十分重要,因为大多数开发者会花大量时间去维护别人写的代码。实际开发中,从第一行代码开始写起的情况非常少,通常是要在别人的代码之上构建自己的工作。让自己的代码容易维护,可以保证其他开发者更好地完成自己的工作。

可维护的代码具备哪些特点

  • 容易理解: 无须求助原始开发者,任何人一看代码就知道它是干什么的,以及它是怎么实现的。
  • 符合常识: 代码中的一切都显得顺理成章,无论操作有多么复杂。
  • 容易适配: 即使数据发生变化也不用完全重写。
  • 容易扩展: 代码架构经过认真设计,支持未来扩展核心功能。
  • 容易调试: 出问题时,代码可以给出明确的信息,通过它能直接定位问题。

编码规范

编写可维护代码的第一步是认真考虑编码规范。大多数编程语言会涉及编码规范,专业组织有为开发者建立的编码规范,旨在让人写出更容易维护的代码。优秀开源项目有严格的编码规范,可以让社区的所有人容易地理解代码是如何组织的。

编码规范对JavaScript而言非常重要,因为这门语言实在太灵活了。与大多数面向对象语言不同,JavaScript并不强迫开发者把任何东西都定义为对象。它支持任何编程风格,包括传统的面向对象编程、声明式编程,以及函数式编程。

1.可读性

代码缩进:缩进通常要使用空格数而不是Tab(制表符)来定义,因为后者在不同文本编辑器中的显示不同。一般来说,缩进是4个空格,当然具体多少个可以自己定。

注释:在大多数编程语言中,广泛接受的做法是为每个方法都编写注释。因为JavaScript可以在代码中的任何地方创建函数,所以这一点经常被忽视。正因为如此,可能给JavaScript中的每个函数都写注释才更重要。

以下这些地方应该写注释:

  • 函数和方法
  • 大型代码块
  • 复杂的算法
  • 使用黑科技

2.变量和函数命名

3.变量类型透明化

松散耦合

只要应用程序的某个部分对另一个部分依赖得过于紧密,代码就会变成紧密耦合,因而难以维护。典型的问题是在一个对象中直接引用另一个对象,这样,修改其中一个,可能必须还得修改另一个。紧密耦合的软件难于维护,肯定需要频繁地重写。

  • 解耦HTML/JavaScript
  • 解耦CSS/JavaScript
  • 应用程序逻辑/事件处理程序

编码惯例

1.尊重对象所有权

2.不声明全局变量

3.不要比较Null

4.使用常量

性能

  • 作用域意识: 避免全局查找、不使用with语句
  • 选择正确的方法: 避免不必要的属性查找、优化循环、展开循环、避免重复解释、原生方法很快、switch语句很快、位操作很快
  • 语句最少化: 多个变量声明、插入迭代性值、使用数组和对象字面量
  • 优化DOM交互: 实时更新最小化、使用innerHTML、使用事件委托、注意HTMLCollection

部署

  • 构建流程: 文件结构、任务运行器、摇树优化、模块打包器
  • 验证: eslint
  • 压缩: 代码压缩、JavaScript编译、JavaScript转译、HTTP压缩

本文完。