《众妙之门——JavaScript与jQuery技术精粹》——第2章 复查JavaScript 代码的启示2.1 简介

第2章 复查JavaScript 代码的启示

在开始之前,我想问一个问题:你最近一次复查代码是什么时候?代码复查应该是提高整体解决问题能力的最好方式,如果没有利用好它,将会错过发现漏洞和聆听建议的机会,而这些正是使你的代码更加完美所需的。

没有人能写出100%没有漏洞的代码,所以不要为寻求帮助感到羞愧。我们行业中一些非常有经验的开发者,包括架构师和浏览器开发师都会经常要求别人来复查他们的代码,询问别人是否有地方可以改进以避免发生尴尬。代码复查应该被当成一项和其他技术方式解决问题同等重要的方法。

现在我们来谈一谈在哪里可以使代码得到复查,怎样构造复查请求以及哪些是需要复查的内容。我最近被邀请复查一项JavaScript应用程序的代码,所以考虑和大家分享一下成果,因为它大致上覆盖了关于JavaScript代码复查必须熟记于心的全部相关知识。

2.1 简介

代码复查与维护严格的编码标准紧密相关,也就是说,标准并不是为了防止逻辑错误或者对一些编程语言特殊语法的理解错误,无论是JavaScript、Ruby、Objective-C还是其他语言都适用于此规则。即使是最有经验的开发人员也有可能犯这样的错误,复查代码可以很好地帮助他们发现这些错误。

我们对于批评的第一反应都是保护自己(或者自己的代码),还有就是反击回去。诚然,批评确实会让人感觉低落,但是可以试着把它看成一种可以激励我们做得更好,并且能促进我们能力提升的学习经验。因为大多数情况下,当我们冷静下来时,事实也是如此。

没有人有义务为你的工作提供反馈,如果建议真的具有建设性的话,要感激别人对你的付出。

复查使我们可以学习别人的经验并从别人的观点中获益。当一天的工作结束后,这会增加我们写出更好代码的机会。是否接受这种机会完全在于你。

时间: 2024-08-30 09:58:22

《众妙之门——JavaScript与jQuery技术精粹》——第2章 复查JavaScript 代码的启示2.1 简介的相关文章

《众妙之门——JavaScript与jQuery技术精粹》——2.6 JavaScript代码复查实例

2.6 JavaScript代码复查实例 最近一位开发人员让我对他的代码进行复查并提供改进建议.虽然我并不是代码复查专家(不要被我上面所说的忽悠),我在这里还是给出我提出的问题和解决方案. 问题1问题:函数和对象没经过任何类型校验就作为参数传递给其他函数. 回复:类型校验是保证输入类型的必要步骤,如果没有进行检查,可能就有输入类型(字符串.日期.数组等)不确定的风险,这些可以轻易地毁掉你未经防御处理的应用程序.对于函数,至少应该进行以下处理: 1.测试以确保传递的变量真实存在: 2.进行type

《众妙之门——JavaScript与jQuery技术精粹》——1.3 JavaScript自带函数(数学、数组以及字符串函数)

1.3 JavaScript自带函数(数学.数组以及字符串函数) 通读了JavaScript的数学.数组和字符串函数后,我意识到它们会让编程变得非常方便,使用它们可避免使用许多循环和条件.例如,当需要找到一组数中的最大数时,需要写这样一个循环: 可以不通过循环而这样实现: 需要注意的是,不能对一个数值数组使用sort()函数,因为它会按照词法排序. 另一个有趣的方法是利用Math.max()函数,返回一列参数中的最大值: Math.max(12,123,3,2,433,4); // return

《众妙之门——JavaScript与jQuery技术精粹》——2.5 协作代码复查

2.5 协作代码复查 尽管单独的开发者可以工作得很好,但将更多的开发人员带入这个流程也是不错的选择.这样有几个明显的优点:减轻单独复查人员的负担,得到更多人的改进意见,并可以使某一位复查者的评论得到展示和修改以防发生错误. 为了更好地帮助复查团队,你需要一个可以允许同时检查和评论的工具.幸运的是,这里有一些不错的选择: Review Board这个基于网络的工具拥有MIT许可即可免费使用,它集成了Gits.CVS.Mercurial以及其他源代码控制系统.Review Board可以在运行Apa

《众妙之门——JavaScript与jQuery技术精粹》——导读

前 言 众妙之门--JavaScript与jQuery技术精粹 对于网站开发设计人员而言,在面对选择解决方案时做出正确的决定并不容易.不论是在建立复杂的网站应用还是在改进网站的过程中,都会有很多前期解决方案可供选择,有时选择最合适的一款方案至关重要.本书着重讲述了在选择相应解决方案时务必要注意的事项,即是否稳定并易于定制.是否有实用性并易于理解.是否具有可维护性.兼容性,以及功能的可拓展性. 本书重点阐述了检验代码的重要性以及在执行JavaScript程序时需要避免的问题.所选择的解决方案应能符

《众妙之门——JavaScript与jQuery技术精粹》——第1章 初学JavaScript 需知的七件事 1.1 缩略标记

第1章 初学JavaScript 需知的七件事 我很早以前就开始编写JavaScript代码,很高兴看到这种语言在今天所取得的成功,能成为这个成功故事中的一部分我很开心.关于JavaScript,我写过许多文章.章节以及一整本书,直到今天我仍在寻找新的东西.下文是一些我工作学习过程中激动时刻的记录,大家与其守株待兔,不如自己尝试去体会这种感受. 1.1 缩略标记 众妙之门--JavaScript与jQuery技术精粹 在创建对象和数组过程中可以使用缩略标记是我喜欢JavaScript的重要原因之

《众妙之门——移动交互体验设计》—— 第1章 未来的移动技术

第1章 未来的移动技术 众妙之门--移动交互体验设计"第一个移动时代限于老式的蜂窝电话--那个你用来通话的设备.第二个移动时代是 iPhone 带来的--人们开始通过指尖与屏幕进行交互体验.第三个时代将使我们彻底从屏幕中解放出来." --Robert Scoble 预言明日科技总是一件难事.向后展望,科技的进步是必然的.伴随着逝去的每一天,产品似乎总是向着更好.更轻便和更廉价的方向不断进步.技术的过渡演变总是一个漫长的过程,随着科技与寻常百姓的关系进一步紧密,制约发展的一些关键的节点大

《众妙之门——JavaScript与jQuery技术精粹》——2.2 在哪里可以使代码得到复查?

2.2 在哪里可以使代码得到复查? 一般最具挑战性的部分在于找到一个值得信任的有经验的开发者来帮我们复查.以下是一些可以请求别人复查代码的地方(有时是别国语言). . JSMentorsJSMentors是一个讨论JavaScript相关内容的邮件列表,其复查面板中有一大批有经验的开发者(包括JD Dalton.Angus Croll和Nicholas Zakas)在复查人员名单上.这些老师不一定一直在线,但是对于提交的代码他们都会尽全力提供有用的.建设性的反馈意见.如果希望获得的是基于某种特殊

《众妙之门——JavaScript与jQuery技术精粹》——1.8 特定于浏览器的代码就是浪费时间,试试库文件

1.8 特定于浏览器的代码就是浪费时间,试试库文件 在我进行网络开发之初,利用document.all还是document.layers来访问文件还存在很大的争议.我当时选择了document.layers方式,因为我喜欢将层作为当前层文件的思想(我为此还编写了大量document.write方法).这两种方式后来都被淘汰了.Netscape 6问世以后,它仅支持W3C DOM模型,我非常喜欢这种方式,但是终端用户并不在意这些,他们看到的只是这种浏览器没有正确显示大部分互联网内容(实际上是显示了

《众妙之门——JavaScript与jQuery技术精粹》——1.7 与后台交互

1.7 与后台交互 这些年使用JavaScript的经验告诉我:JavaScript包含丰富的交互接口,但在进行数据处理和数据库访问时效果不佳. 最初,我用JavaScript代替Perl的原因是厌倦了每次要将代码复制到目录文件夹中才能运行的情况.后来我学会了利用后台程序来处理数据,而不是将所有的功能用JavaScript来实现,这样使得代码在安全性和语言性上都得到了提高. 访问一个Web服务时,可以得到JSON-P格式的返回值并在客户机上进行大量的数据转换.但是为什么在已经有了服务器并有更多的