重构JavaScript
Evan Burchard
韩天奇 译
出版时间:2018年10月
页数:396
如果你的JavaScript代码很糟糕,框架只能为你提供有限的帮助。无论使用什么框架、“编译成JS”的语言或者库,如果底层的JavaScript代码质量很糟糕的话,错误和性能问题将始终存在。通过本书,你将学到如何测试和重构现有的代码,以帮助降低复杂性、提高可读性并提高对代码库的信心。
本书作者向你展示如何识别糟糕的代码,然后通过多种重构方法来改进这些糟糕的代码。采用的技术从重命名变量到运用函数式和面向对象编程的原则。如果你想在前后端写出更好的JavaScript代码,那么本书必不可少。
● 利用重构来重新组织现有的代码,而不改变它的行为。
● 了解重构与质量之间的关系。
● 探索现今使用的不同版本的JavaScript。
● 创建自动化测试以确保你的代码可以工作,并且找到被遗漏掉的错误。
● 了解如何重构简单的JavaScript结构、函数以及对象。
● 运用面向对象和函数式编程原则来重构你的代码。
● 重构异步JavaScript的检验方法。
  1. 前言
  2. 第1章 重构是什么?
  3. 你如何保证不改变行为?
  4. 如果不改变行为,重构的目的是什么?
  5. 重构是什么,不是什么
  6. 小结
  7. 第2章 你使用哪种JavaScript?
  8. 版本与规范
  9. 平台与实现
  10. 预编译语言
  11. 框架
  12. 你需要什么JavaScript?
  13. 我们在用什么JavaScript?
  14. 小结
  15. 第3章 测试
  16. 为什么测试
  17. 测试的多种方法
  18. 工具和流程
  19. 小结
  20. 第4章 测试实践
  21. 从零开始的代码
  22. 采用测试驱动开发的从零开始的代码
  23. 未经测试的代码与特性测试
  24. 调试和回归测试
  25. 小结
  26. 第5章 基本重构目标
  27. 函数块
  28. 输入
  29. 输出
  30. 副作用
  31. 上下文第一部分:隐式输入
  32. 上下文第二部分:隐私
  33. 小结
  34. 第6章 重构基本结构
  35. 示例代码
  36. 我们的信心策略
  37. 重命名
  38. 无用的代码
  39. 变量
  40. 字符串
  41. 使用数组:循环、forEach、映射
  42. 小结 167
  43. 第7章 重构函数与对象
  44. 示例代码(改进后)
  45. 数组和对象的替代品
  46. 测试我们所拥有的
  47. 提取函数
  48. 用全局对象简化API
  49. 小结
  50. 第8章 层次结构中的重构
  51. 关于“CRUD应用”和框架
  52. 构建层次结构
  53. 破坏层次结构
  54. 继承与结构
  55. Has-A关系
  56. 继承反模式
  57. 小结
  58. 第9章 重构到面向对象模式
  59. 模板方法
  60. 策略
  61. 状态
  62. 空对象
  63. 包装(装饰器和适配器)
  64. 外观
  65. 小结
  66. 第10章 重构异步
  67. 为什么用异步?
  68. 修复金字塔厄运
  69. 回调和测试
  70. Promises
  71. 小结
  72. 第11章 函数式重构
  73. 函数式编程的限制和好处
  74. 基础
  75. 高级基础
  76. Burritos
  77. 学习和使用Burritos
  78. 从OOP迁移到FP
  79. 小结
  80. 第12章 结论
  81. 附录A 进一步阅读和资源
书名:重构JavaScript
作者:Evan Burchard
译者:韩天奇 译
国内出版社:中国电力出版社
出版时间:2018年10月
页数:396
书号:978-7-5198-2354-2
原版书书名:Refactoring JavaScript
原版书出版商:O'Reilly Media
Evan Burchard
 
Evan Burchard是一位Web开发顾问,同时也是《The Web Game Developer’s Cookbook》的作者。在线下,他设计了一款屡获殊荣的体感游戏,包括堆积真实的冰块,也定期继续走遍美国的计划。
 
 
本书封面上的动物是俄罗斯麝香鼠(俄罗斯麝鼹属),这是一种与鼹鼠远亲关系的小型哺乳动物。它是半水生生物,生活在俄罗斯、乌克兰和哈萨克斯坦的湖泊和河流的栖息地。麝香鼠通常只有7~8英寸长,14~18盎司重。
麝香鼠在功能上是盲的,但其独特的双裂口鼻内充满了特殊的真皮隆起(也被称为艾默氏器,也在鼹鼠身上发现)。这些器官对触摸高度敏感,是动物感官输入的主要来源。麝香鼠还用它的长鼻子像潜望镜一样,呼吸和嗅探水面上方的威胁。麝香鼠是熟练的游泳者,有蹼的后脚和侧面平坦的尾巴(像船舵一样)。的确,虽然它们在地上挖掘巢穴,在那里睡觉以及养育幼子,但它们大部分时间都呆在水里;它们的巢穴甚至有水下入口。它们的饮食是由昆虫、幼虫、两栖动物和小鱼组成的,大部分都是在水下捕捉的。
不幸的是,俄罗斯麝香鼠濒临灭绝。在20世纪初的皮毛贸易中,它柔软厚实的皮毛,以及极理想的生活在冷水中,使它备受追捧。1957年,全面禁止狩猎麝香鼠。尽管如此,其他诸如伐木、水污染和湿地排水等因素仍在继续导致它们的数量锐减,因为生存的栖息地消失了。最近的保护努力在野生动物保护区建立一个健康的麝香鼠种群方面取得了一些成功。
O’Reilly封面上的许多动物都濒临灭绝,它们对世界都很重要。想了解更多如何帮助的信息,请访问animals.oreilly.com。
本书封面图片来自Natural History of Animals。