怎样才可以写出高质量的js代码?

JavaScript018

怎样才可以写出高质量的js代码?,第1张

编写可维护的代码

软件的BUG修复需要花费大量的精力。尤其当代码已经发布之后,随着时间的增长,维护的成本愈发的高。当你一发现BUG的时候,就立即去修复,这时候你的代码还是热乎的,你也不需要回忆,因为就是刚刚写好的。但是当你做了其他任务,几乎完全忘记了这份代码,这时候就需要:

重新学习和理解问题

理解代码是如何解决问题的

另外一个问题是,在大项目或者大公司里面,经常是解决BUG的人不是产生BUG的人,而且也不是发现BUG的人。所以减少理解代码的时间就是最重要 的问题,无论这个代码是你自己以前写的还是团队中的其他成员写的,因为我们都想去搞搞新的有意思的东西,而不是去维护那些个陈旧的代码。

还有一个开发中的普遍问题就是,往往读代码的时间比写代码的时间还要多。有时候你钻研一个问题,可以花整整一个下午的时间来考虑代码的编写。这个代码当时是可以工作的,但是随着开发的进行,其他东西发生了很大的变化,这时候也就需要你自己来重新审查修改编写代码。比如:

还有BUG没有解决

添加了新的功能

程序需要在新的环境中运行(比如一个新上市的浏览器)

代码有问题

代码需要重写因为修改了架构甚至要使用另一个语言

因为这些原因,也许你当时一个下午写好的代码,后面需要花费几周的时间来阅读。所以编写可维护的代码对于软件的成功至关重要。

可维护的代码包括:

可读性

连续性

预见性

看起来是一个人写的

有文档

最少化全局变量

河南新华

今天,我学习了怎么样编写高效的js代码

1.管理好作用域和作用域链,通过多使用局部变量,减少with和try catch的使用。因为with和catch都是在作用域的顶部增加了一个对象。

2.高效的存取数据。存取数据有四种方式:字面量值,变量,数组元素和对象属性。

3.流控制:最快的条件判断:1)if语句:两个之内的离散值需要判断,大连的值能容易的分到不同的区间范围中。2)switch语句:超过2个少于10个离散值需要判断,条件值是非线性的,无法分离出区间范围。3)数组查询:超过10个值,条件对应的结果是单一值,而不是一系列操作。

4.循环的提升:将循环变量递减到0而不是递增,这样只判断条件是真是假不用做比较了;展开循环:Duff策略:每一次循环完成标准循环的1-8次。通过数组值的总数除以8来确定循环次数。

5.谨慎使用HTMLCollection对象。每次存取这类对象的属性,都会重新查询DOM中匹配的节点。

6.将要连接的字符串存储到数组中,调用join()方法合并在一些浏览器中比+号连接字符串要快点。

7.浏览器会限制js可以运行的最长时间,可以使用定时器将任务拆分执行。从而避免浏览器弹出终止运行的警告。