您的位置:寻梦网首页编程乐园JavaScriptJavaScript 高级教程
第 1 课 第 2 课 第 3 课 第 4 课 第 5 课

JavaScript高级教程 - 第五课

作者: Thau   

第四页:修正错误

找到错误,有时侯虽然很难,却只是第一步。然后你必须清除 错误。下面是一些在清除错误时应该做的一些事:

首先拷贝你的程序

有些错误很难清除。实际上,有时在根除错误时, 你会破坏整个程序 - 一个小错误使你疯狂。在开始 调试前保存你的程序是确保错误不会利用你的最好 方法。

一次修正一个错误

如果你知道有好几个错误,应该修正一个,检验其 结果,再开始下一个。一次修正许多错误而不检验 你的工作只会招致更多的错误。

警惕迷惑性错误

有时你知道存在一个错误,但不真正知道为什么。 假设有一个变量“index”,由于某种原因“index” 总比你期望的小1。你可以做下面两件事中的一件: 在那儿坐一会儿,解决它为什么变小了,或只是耸 耸肩;在使用“index”之前加1,然后继续进行。后 一种方法称为迷惑编程。当你开始思考“究竟是怎 么了 - 为什么index是2而不是3呢?好吧...我现在 先让它正常工作,以后再修改错误。”时,你正在 把一块护创膏布贴到一处潜在的硬伤上。

迷惑编程可能在短期内有用,但是你可以看到长期 的厄运 - 如果你没有完全理解你的代码到可以真正 清除错误的程度,那个错误将会回来困扰你。它或 者以另一种你不能解决的怪异错误的方式回来,或 者当下一个可怜的被诅咒的灵魂读你的代码时,他 会发现你的代码非常难以理解。

寻找小错误

有时侯,对程序员来说,剪切和粘贴代码的能力是 一种很坏的事。通常,你会在一个函数中写一些 JavaScript代码,然后把它们剪切和粘贴到另一个 函数中。如果第一个函数有问题,那么现在两个函 数都有问题。我并不是说你不应该剪切和粘贴代码。 但是错误会以某种方式繁殖,如果你发现了一个 错误,你就应该寻找与其相似的其它错误。(或者 在制作它的若干版本之前确切知道会发生什么。) 变量名拼写错误在一段JavaScript代码中会突然多 次出现 - 在一个地方把the_name错拼成teh_name, 你就有机会在其它地方发现这个错误。

如果所有其它的方法都失败了

如果你正坐在那儿盯着一个错误,并且不能指出是 怎么回事(或者根本没有发现错误,但是因为程序 不能正确运行,你知道存在错误),你最好从计算 机前走开。去读一本书,在角落散散步,或者拿一 杯可口的饮料 - 做些事,任何事,但不要去想程序 或问题。这种技术在某种情况下叫做“酝酿”,效 果非常好。在你稍做休息和放松后,再试着找出 错误。你会得到一幅比较清晰的景象。“酝酿”起 作用是因为它使你从思维混乱中解脱出来。如果沿 着一条错路走太远,你有时会发现无法转身。这种 情况下最好开辟一条新路。我知道这会令人发火, 但确实有效。真的!

如果上面的方法还不成功...

请求别人的帮助。有时你的思想会形成定式,只有 换一种眼光才能洞察问题之所在。在结构化编程环 境中,程序员们定期地互相复查别人的代码。这可 以适当地叫做“代码复查”,不仅可以帮助消除 错误,还可以得到更好的代码。不要怕把你的 JavaScript代码给别人看,它会使你成为更好的 JavaScript程序员。

但是消除错误的绝对最好的办法是...

一开始就创建没有错误的代码。>>

JavaScript高级教程
第一页JavaScript高级教程- 第5天
第二页 打印变量
第三页 一般性程序错误
第四页 修正错误
第五页 好的编程实践
第六页 按速度优化JavaScript代码
第七页 下面讲什么?

[第1课][第2课][第3课][第4课][第5课]

来源: Wired Digital Inc.