- ISBN:9787111724230
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:246
- 出版时间:2023-03-01
- 条形码:9787111724230 ; 978-7-111-72423-0
本书特色
适读人群 :所有开发者本书采用一个完整的项目贯穿各章,作者全程示范了如何把项目拆解成多个小功能,并依次采用测试驱动的方式实现这些功能。每实现一个功能,作者都会演示如何通过重构,把这个功能的代码乃至项目的结构调整得更好。作者采用三种编程语言讲解,这不仅能吸引更多的人来阅读,而且让我们能够观察各种编程语言在设计思路与实现细节方面的异同,进而养成一种超越编程语言的设计思维。大家在书中会看到如何结合具体语言的优势,以清晰的代码将这种思维表达出来。此外,作者还指引我们把这个项目提交到本地的 git 代码库中,以便做版本管理,并且告诉我们如何将本地仓库与远程的 GitHub 库同步,以及如何通过脚本制作 CI(持续集成)管道,让项目代码每次推送到远程库之后都能够自动接受测试。
内容简介
开发者的水平需要靠代码来证明。无论你用的是哪种编程语言,都应该写出干净、优雅且整齐的代码。测试驱动开发(TDD)可以帮助你写出这种既易懂又漂亮的代码,这样的代码能够在以后的几个月乃至几年中稳定运行。在这本开发者推荐的教程中,你能够学到如何用Go、JavaScript以及Python这三种语言来做测试驱动开发。Saleem Siddiqui在书中会告诉你如何用单元测试引领开发工作,以解决业务领域中的复杂问题。这种测试驱动的编程方式会把需求划分成多个比较小的功能,并分别予以实现。无论使用哪种编程语言与编程框架,你都可以把本书中的知识运用到日常的编程工作中。通过本书,你将学到:* 如何用TDD把业务领域中的复杂问题划分成多个小功能,并分别予以实现。* 如何在各类编程语言中用各种测试框架来做TDD,以实现业务领域中的概念。* 如何通过TDD推进持续集成(CI)。* 如何通过TDD做重构与重新设计。* 如何用JavaScript编写一套简单而有效的测试用具,以便自动识别并运行单元测试。* 如何配置一套持续集成环境,以自动测试在做TDD的过程中所写的单元测试。* 如何以TDD的方式写出清晰而整齐的Go、JavaScript及Python代码。
目录
第0章 简述如何配置开发环境21
0.1 配置开发环境21
0.2 小结28
**部分 入门
第1章 我们要解决的问题:Money31
1.1 TDD 的基本流程:红-绿-重构循环31
1.2 我们要解决的是什么问题32
1.3 **个失败的测试33
1.4 让测试通过37
1.5 清理代码41
1.6 提交变更44
1.7 小结45
第2章 通过Money实体支持多种货币48
2.1 开始支持欧元48
2.2 让代码遵循DRY原则50
2.3 刚才不是说要遵循 DRY 原则吗?现在为什么要保留两个相似的测试52
2.4 分而治之(实现除法)53
2.5 清理代码57
2.6 提交变更60
2.7 小结60
第3章 通过Portfolio实体支持投资组合62
3.1 设计下一个测试62
3.2 提交变更71
3.3 小结71
第二部分 模块化
第4章 关注点分离75
4.1 测试代码与产品代码75
4.2 模块化78
4.3 去除冗余(消除重复)79
4.4 小结80
第5章 Go语言的包与模块81
5.1 把代码分割到不同的包中81
5.2 Go 语言的模块82
5.3 创建新包84
5.4 封装86
5.5 消除测试中的重复88
5.6 提交变更88
5.7 小结88
第6章 JavaScript的模块90
6.1 把代码划分成多个模块90
6.2 认识 JavaScript 模块92
6.3 改进测试96
6.4 提交变更104
6.5 小结105
第7章 Python的模块106
7.1 把代码划分成多个模块106
7.2 消除测试中的重复108
7.3 提交变更108
7.4 小结108
第三部分 功能与重新设计
第8章 求Portfolio的值111
8.1 处理币种不同的Money111
8.2 提交变更119
8.3 小结119
第9章 这种钱,那种钱120
9.1 制作映射表以便查询汇率120
9.2 提交变更127
9.3 小结128
第10章 错误处理129
10.1 我们想把错误处理机制实现成什么样子129
10.2 提交变更141
10.3 小结142
第11章 通过Bank实体重新设计143
11.1 依赖注入144
11.2 把所有实体汇聚起来145
11.3 提交变更166
11.4 小结166
第四部分 收尾
第12章 掌握测试顺序171
12.1 修改汇率172
12.2 提交变更180
12.3 小结181
第13章 持续集成182
13.1 核心概念183
13.2 把实现持续集成所需的步骤串起来187
13.3 提交变更198
13.4 小结203
第14章 回顾204
14.1 代码是否具备良好的形象205
14.2 代码是否确切地实现了目标208
14.3 在编写代码的过程中有没有其他路可走210
14.4 从三个维度分析代码211
14.5 TDD 过时了吗224
14.6 全书总结226
附录 A 配置开发环境227
附录B 三种语言简史237
附录C 致谢244
作者简介
Saleem Siddiqui是一位软件开发者,他也参与培训、演讲和写作。他具有丰富的技术开发经验,在大大小小的团队中开发过医疗、零售、政务、财务以及制药等方面的软件。Saleem将在本书中分享自己过去的经验与教训,帮助大家避开他以前编写软件时犯的错误。
-
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
零信任网络:在不可信网络中构建安全系统
¥34.2¥59.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥20.3¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥74.3¥99.0 -
大学计算机基础实验教程(MS Office版)——面向数据分析能力培养
¥29.1¥39.8 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥70.0¥89.8 -
LINUX实战——从入门到精通
¥52.4¥69.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
数据存储架构与技术(第2版)
¥62.9¥89.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
实战知识图谱
¥51.8¥69.0