没有合适的资源?快使用搜索试试~ 我知道了~
首页提升JavaScript代码质量:要素与习惯
在Stoyan Stefanov的权威著作《JavaScript Patterns》中,作者提出了一系列编写高质量JavaScript代码的关键要点。首先,避免滥用全局变量,因为它们会污染全局命名空间,导致代码难以管理和维护。提倡使用局部变量,特别是在函数内部,这样可以提高代码的封装性。 其次,预缓存数组的`length`属性,如在循环中,避免频繁地访问它,这可以提升性能,减少不必要的计算。另外,良好的代码阅读习惯不容忽视,比如遵循一致的命名规则,使代码结构清晰易懂。 Stefanov强调了非代码相关的实践同样重要。编写详尽的API文档有助于他人快速理解代码的功能和用法,而同行评审则能发现潜在的问题,确保团队合作中的代码质量。此外,定期运行JSLint等静态代码分析工具,有助于识别和修复潜在的错误和风格问题。 维护代码的可维护性至关重要,因为修复bug的成本随着时间的推移会增加。为了减少理解代码的时间,无论是对自己还是团队成员,都应重视代码的一致性和可预测性。这意味着代码应该是可读的,每个部分都反映出一种统一的设计风格和逻辑流程。 当应用发展过程中遇到bug暴露、新功能加入、跨环境兼容性调整等问题时,可维护的代码可以显著降低调整和维护的工作量。这样的代码不仅能够快速响应变化,而且长期来看,能够提升整个项目的成功率和开发团队的效率。 编写高质量JavaScript代码不仅仅是关注语法和功能实现,更关乎代码的组织、设计和文档化。通过遵循这些最佳实践,开发者可以确保他们的代码不仅在编写时高效,而且在未来的迭代中也能轻松应对各种挑战。
资源详情
资源推荐
编写高质量编写高质量JavaScript代码的基本要点代码的基本要点
前言
才华横溢的 Stoyan Stefanov ,在他写的由 O’Reilly 初版的新书 《JavaScript Patterns》 (JavaScript模式)中,我想要是为我
们的读者贡献其摘要,那会是件很美妙的事情。具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单
变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多。
此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档、执行同行评审以及运行
JSLint。这些习惯和最佳做法可以帮助你写出更好的,更易于理解和维护的代码,这些代码在几个月或是几年之后再回过头看
看也是会觉得很自豪的。
书写可维护的代码
软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软
件中时。当你发现bug 的时候就立即修复它是最好的,此时你代码要解决的问题在你脑中还是很清晰的。否则,你转移到其他
任务,忘了那个特定的代码,一段时间后再去查看这些代码就 需要:
花时间学习和理解这个问题
化时间是了解应该解决的问题代码
还有问题,特别对于大的项目或是公司,修复bug的这位伙计不是写代码的那个人(且发现bug和修复bug的不是同一个
人)。因此,必须降低理解代 码花费的时间,无论是一段时间前你自己写的代码还是团队中的其他成员写的代码。这关系到
底线(营业收入)和开发人员的幸福,因为我们更应该去开发新的激动 人心的事物而不是花几小时几天的时间去维护遗留代
码。
另一个相关软件开发生命的事实是,读代码花费的时间要比写来得多。有时候,当你专注并深入思考某个问题的时候,你可以
坐下来,一个下午写大量的代码。
你的代码很能很快就工作了,但是,随着应用的成熟,还会有很多其他的事情发生,这就要求你的进行进行审查,修改,和调
整。例如:
bug是暴露的
新功能被添加到应用程序
程序在新的环境下工作(例如,市场上出现新想浏览器)
代码改变用途
代码得完全从头重新,或移植到另一个架构上或者甚至使用另一种语言
由于这些变化,很少人力数小时写的代码最终演变成花数周来阅读这些代码。这就是为什么创建可维护的代码对应用程序的成
功至关重要。
可维护的代码意味着:
可读的
一致的
可预测的
看上去就像是同一个人写的
已记录
最小全局变量
JavaScript通过函数管理作用域。在函数内部声明的变量只在这个函数内部,函数外面不可用。另一方面,全局变量就是在任
何函数外面声明的或是未声明直接简单使用的。
每个JavaScript环境有一个全局对象,当你在任意的函数外面使用this的时候可以访问到。你创建的每一个全部变量都成了这
个全局对象的属 性。在浏览器中,方便起见,该全局对象有个附加属性叫做window,此window(通常)指向该全局对象本身。
下面的代码片段显示了如何在浏览器环境 中创建和访问的全局变量:
全局变量的问题
全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空
间,所以当程序的两个不同部分定义同名但不同作用的全局变量的时候,命名冲突在所难免。
web页面包含不是该页面开发者所写的代码也是比较常见的,例如:
第三方的JavaScript库
广告方的脚本代码
第三方用户跟踪和分析脚本代码
不同类型的小组件,标志和按钮
下载后可阅读完整内容,剩余6页未读,立即下载
只在当初微笑
- 粉丝: 275
- 资源: 866
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功