10月阅读周·编写可测试的JavaScript代码:可测试的JavaScript之应用程序代码篇

举报
叶一一 发表于 2024/10/23 09:30:14 2024/10/23
【摘要】 背景去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。没有计划的阅读,收效甚微。新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。这个“玩法”虽然常见且板正,但是有效,已经坚持阅读九个月。已读完书籍:《架构简洁之道》、《深入浅出的Node.js》、《你不知道的JavaScript(上卷)》、《你不知道的JavaScri...

背景

去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。

没有计划的阅读,收效甚微。

新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。

这个“玩法”虽然常见且板正,但是有效,已经坚持阅读九个月。

已读完书籍《架构简洁之道》、《深入浅出的Node.js》、《你不知道的JavaScript(上卷)》、《你不知道的JavaScript(中卷)》、《你不知道的JavaScript(下卷)》、《数据结构与算法JavaScript描述》、《WebKit技术内幕》、《前端架构:从入门到微前端》、《秒懂算法:用常识解读数据结构与算法》、《JavaScript权威指南》、《JavaScript异步编程设计快速响应的网络应用》

当前阅读周书籍编写可测试的JavaScript代码

应用程序代码

编写短小、可测试的代码后工作并没有结束,还需要测试它!编写可测试的代码,可以让测试以及找Bug变得更容易。没有开发人员愿意尝试去调试一段巨大的代码,特别是如果这些代码不是他编写的。

测试

单元测试是开发者的第一道防线。单元测试不仅能强迫开发人员理解我们的代码,也能帮助我们记录和调试代码。除了单元测试以外,集成测试也有助于确保一切都能按预期集成在一起—尤其是客户端JavaScript,它运行在更多平台(台式机、平板电脑和手机)上的不同浏览器上。最后,性能测试和负载测试有助于确保应用程序能够按指标执行。每一步的测试,都可以让我们在不同的抽象级别上练习代码。每个测试在不同的使用场景中都可以发现Bug。要完整地测试代码,需要在所有的抽象级别上都进行测试才行。生产环境中仍可能有Bug,并且没有解决这种问题的万能药。

调试

不管进行的测试有多少,对于软件开发人员来说,调试(debug)都是必须要做的事情。幸运的是,JavaScript有一些非常好的工具可以不断改进调试工作。利用这些工具,将有助于让调试工作变得更容易,这是非常好的,因为如果不用,调试代码的时间可能比编写代码的时间还长。

无论是在本地调试还是远程调试,很多强大的工具都可以进行逐步调试以及资源管理。

总结

编写可测试的JavaScript代码,并不能自动从敏捷、瀑布、TDD、BDD或任何其他软件开发方式中产生结果。可测试的JavaScript是编写短小、松耦合、独立的简单小块代码的一个保证。如何编写这样的代码取决于我们自己。希望本书能够帮助大家了解编写这种代码的方式。

编写可测试的代码会让我们的工作以及后续者的工作变得更加容易。从更少的Bug到更容易修复的Bug,从容易测试到简单调试,编写可测试的JavaScript是让我们保持清醒的方式。

最重要的是,不要忘记我们是为人编写代码,而不是为编译器。人,包括我们自己,以后必须要维护代码,所以为了让大家(包括我们自己)的工作更轻松,就要编写可测试的JavaScript。



作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏️ | 留言📝

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。