本节书摘来自异步社区《编写可测试的JavaScript代码》一书中的第1章,第1.3节,作者: 【美】Mark Ethan Trostler 译者: 徐涛 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 卓越的应用程序代码

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

1.3.1 测试

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

1.3.2 调试

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

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

《编写可测试的JavaScript代码》——1.3 卓越的应用程序代码相关推荐

  1. 《编写可测试的JavaScript代码》——1.4 小结

    本节书摘来自异步社区<编写可测试的JavaScript代码>一书中的第1章,第1.4节,作者: [美]Mark Ethan Trostler 译者: 徐涛 更多章节内容可以访问云栖社区&q ...

  2. 新书《编写可测试的JavaScript代码 》出版,感谢支持

    本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代 ...

  3. 编写可测试的JavaScript代码

    <编写可测试的JavaScript代码> 基本信息 作者: [美] Mark Ethan Trostler 托斯勒 著 译者: 徐涛 出版社:人民邮电出版社 ISBN:9787115373 ...

  4. php代码怎么复制_PHP_PHP网站备份程序代码分享,效果图:PHP代码 复制代码 代码 - phpStudy...

    PHP网站备份程序代码分享 效果图: PHP代码 复制代码 代码如下: 网站程序备份 error_reporting(E_ALL & ~E_NOTICE); ini_set('memory_l ...

  5. 计算机内部程序代码,计算机为什么能够读懂程序代码?

    01 引子 上一回,我们的主人公小A初次亮相,凭借基础的前后端理解,从技术实现的层面为我们剖析了微信扫码登录的原理和机制.可能很多人因此会好奇,小A到底是做什么的呢?为什么能够弄懂这些原理呢? 其实, ...

  6. python定时启动代码_python每天定时运行某程序代码

    思路:利用time函数返回的时间字符串与指定时间字符串做比较,相等的时候执行对应的操作.不知道大家的思路是什么,感觉这样比较耗CPU.... 此处设置为15:30:10 输出相应内容,需要执行什么,就 ...

  7. c语言常用的代码,初学C语言常用简单程序代码;

    <初学C语言常用简单程序代码;>由会员分享,可在线阅读,更多相关<初学C语言常用简单程序代码;(16页珍藏版)>请在人人文库网上搜索. 1.初学C语言常用简单程序代码素数的筛选 ...

  8. 完整简单c语言程序代码,一些简单的C语言程序代码.docx

    一些简单的C语言程序代码 由键盘任意输入1个4位数整数,分别输出其中的个位.十位.百位.千位./* expe 3-10 */#include #include void main(void){ int ...

  9. 网页爬虫python代码_Python 爬虫web网页版程序代码

    一:网页结构分析 二:代码实战#! /usr/bin/env python2 # encoding=utf-8 #BeautifulSoup需要安装 MySQLdb import sys,os,re, ...

最新文章

  1. 2022-2028年中国在线旅行预订市场投资分析及前景预测报告
  2. pyqt5——菜单和工具栏
  3. request,logging,ConfigParser——接口框架
  4. 【转】OpenCV里IplImage数据结构极易出错的问题,IplImage和单字节char*的相互转换
  5. AntV中的饼状图重复渲染问题解决
  6. DSP 的双缓冲串口程序设计
  7. 你在学校我安排了你没有做到最多凶你一顿,在公司不一样,直接得让走人!...
  8. C语言数据类型转换(自动类型转换 强制类型转换)
  9. java基本类型的默认值及其取值范围
  10. 自制操作系统Antz -- 系列文章
  11. 安卓系统应用启动流程分析
  12. 方便微信公众号等手机网页调试插件eruda和vConsole
  13. 一线大厂青睐的前端人,90%满足这3个条件
  14. mvp最小可行产品_我们如何打造最低可行产品(MVP)
  15. python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫
  16. 狐假虎威的故事,狐假虎威的故事告诉我们什么道理?
  17. 如何用WSUS2.0分发补丁
  18. 上传文件时服务器返回错误信息,上传文件时的错误提示
  19. HoloToolkit/unity远程实时传输视频
  20. Android 加载网络图片

热门文章

  1. sql server 查询重复的数据
  2. 反射--获取当前子类父类的泛型类型
  3. JUnit5 假设示例
  4. 03-21 webview 性能分析
  5. 02-01 Python 安装与pip
  6. the enigma x64 6.7_颜值不输宝马,零百加速6.7秒,国产最强轿跑SUV就是它了
  7. mysql union all 别名_mysql union 与 union all 语法及用法
  8. 新人学习web前端必须要知道的基础知识,让你轻松入门
  9. 【C语言函数】 - 库函数、自定义函数、函数参数、函数调用、嵌套调用链式访问、递归与迭代、缓冲区
  10. 超过32位java_在java中存储和使用超过32位的数字!