JavaScript 代码可维护性

217 阅读3分钟

代码可维护性

在工作中,很多时候需要在别人的代码之上构建自己的工作。让自己的代码容易维护,可以保证其他开发这更好地完成自己的工作。

什么是可维护的代码

通常来说,具备如下特点:

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

1. 编码规范

编码规范对 JavaScript 而言非常重要,因为这门语言实在太灵活了。

编码规范的一些基础知识:

可读性

  • 代码缩进
  • 代码注释
    1. 函数和方法
    2. 大型代码块
    3. 复杂的算法
    4. 使用黑科技

缩进和注释可以让代码更容易理解,将来也更容易维护。

变量和函数名

  • 变量名应该是名词,例如 car 或 person。
  • 函数名应该以动词开始,例如 getName()、handleClick()。返回布尔值的函数通常以 is 开头,比如 isEnabled()。
  • 对变量和函数都使用符合逻辑的名称。
  • 变量、函数和方法应该以小写字母开头,使用驼峰大小写(camelCase)形式,如 getName() 和 isPerson。类名应该首字母大写, 如 Data、Person。常量值应该全部大写并以下划线相接,比如 USER_NAME。
  • 名称要尽量用描述性和直观的词汇,但不要过于冗长。getName()一看就知道会返回名称,而PersonFactory 一看就知道会产生某个 Person 对象或实例。

要完全避免没有用的变量名,如不能表示所包含数据的类型的变量名。通过适当命名,代码读起来就会像故事,因此更容易理解。

变量类型透明化

  • 标明变量类型的方式可以使用初始化:
	//  通过初始化标明变量类型
	let found = false; // 布尔值
	let count = 1; // 数值
	let name = ''; // 字符串
	let person = null; // 对象

2. 编码惯例

1. 尊重对象所有权
  • 不要给实例或原型添加属性
  • 不要给实例或原型添加方法
  • 不要重定义已有的方法
2. 不声明全局变量

最多可创建一个全局变量,作为其它对象和函数的命名空间:

	// 多个全局变量:不要!
	var name = 'Jason';
	function sayName() {
		console.log(name);
	}

以上代码声明了两个全局变量: name 和 sayName()。可以像下面这样把它们包含在一个对象中。

	// 一个全局变量:推荐
	let $u = {
		name: 'Jason',
		sayName() {
			console.log(name)
		}
	}

尽量使用常量

  • 任何可能变化的值
  • 重复出现的值
  • 用户界面字符串
  • URL

使用常量是企业级JavaScript开发的重要技术,因为它可以让代码更容易维护,同时可以让代码免受数据变化的影响。