可维护性
在早期网站中,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压缩
本文完。