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

简介:

本节书摘来自异步社区《众妙之门——JavaScript与jQuery技术精粹》一书中的第2章,第2.1节,作者: 【德】Smashing Magazine译者: 吴达茄 芮鹏飞 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 复查JavaScript 代码的启示

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

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

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

2.1 简介

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

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

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

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

相关文章
|
3月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
5月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
172 1
|
6月前
|
JavaScript 前端开发
怀孕b超单子在线制作,p图一键生成怀孕,JS代码装逼娱乐
模拟B超单的视觉效果,包含随机生成的胎儿图像、医疗文本信息和医院标志。请注意这仅用于前端开发学习
|
6月前
|
JavaScript
JS代码的一些常用优化写法
JS代码的一些常用优化写法
126 0
|
8月前
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
831 9
|
9月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
699 11
|
9月前
|
JSON JavaScript 数据格式
jqtimeline.js-简单又好用的jquery时间轴插件
jqtimeline.js-简单又好用的jquery时间轴插件
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~