可维护性
什么是可维护的代码
- 可理解性
- 直观性
- 可适应性
- 可扩展性
- 可调试性
对于专业人士而言,能写出可维护的代码是非常重要的技能。这正是周末改改网站的爱好者和真正理解自己作品的开发人员之间的区别。
代码约定
一种让代码变得可维护的简单途径是形成一套JavaScript代码的书写约定。
可读性
可读性大部分内容都是和代码的缩进相关。一种不错的唱 jain的缩进是大小为4个空格。
可读性另一个方法是注释。一般而言,有如下一些地方需要进行注释。
- 函数和方法——每个函数或方法都应该包含一个注释,描述其目的和用于完成任务所可能的算法。陈述事先的假设也非常重要,如阐述代表什么,函数是否返回值(因为这不能从函数定义推导出来)。
- 大段代码——用于完成单个任务的多行代码应该在前面放一个描述任务的注释。
- 复杂的算法——如果使用了一种独特的方法解决某个问题,则要在注释中解释你是如何做的。
- Hack——如果因为某种浏览器无法使用普通的方法,所以你需要用一些不同的方法,那么请将这些信息放在注释中。
缩进和注释可以带来可读的代码,在未来则更容易维护。
变量和函数的命名
适当给变量和函数起名字对于增加代码可理解性和可维护性非常重要的。
命名的一般规则如下所示。
- 变量名应为名词如car或person
- 函数名应该一动词开始,如getName().返回布尔类型值一般以is开头,如isEnable()。
- 变量和函数都应该使用合乎逻辑的名字,不要担心长度。长度问题可以通过后处理和压缩来缓解。
变量类型透明
合适的命名方式可以缓解忘记变量所应包含的数据类型的问题。
有三种表示数据类型的方式。
- 初始化。当定义一个变量后,应该初始化一个值,来暗示它将来应该如何应用。
//遵循初始化指定变量类型
var found = false;
var count = -1;
var name = "";
var person = null; //对象
缺点是无法用于函数声明的函数参数。
- 匈牙利标记法指定变量类型。匈牙利标记法在变量名之前加上一个或多个字符来表示数据类型:”o”代表对象,”s”代表字符串,”i”代表整数,”f”代表浮点数,”b”代表布尔型。如下:
var bFound;
var iCount;
var sName;
var oPerson;
缺点某种程度上难以阅读,阻碍了原来代码的直观性和句子式的特点。
- 使用类型注释。类型注释放在变量名右边,在初始化前面。
var found /*:Boolean*/ = false;
var count /*:int/ = 10;
var name /*:String*:/ = "Nicholas";
var person /*:Object*/ = null;
确定是不能多行注释,注释大块的代码
这就是最常见的三种指定变量数据类型的方法。各有优劣,最重要的是要确定最适合你项目并一致使用。