《软件开发与创新:ThoughtWorks文集:续集》


软件开发与创新:ThoughtWorks文集:续集

基本信息

原书名:The thoughtWorks anthology, volume 2:More essays on software technology and innovation

作者: 美国ThoughtWorks公司

译者: ThoughtWorks中国公司

丛书名: 图灵程序设计丛书

出版社:人民邮电出版社

ISBN:9787115342942

上架时间:2014-2-14

出版日期:2014 年1月

开本:16开

页码:1

版次:1-1

所属分类:计算机

更多关于》》》软件开发与创新:ThoughtWorks文集:续集

编辑推荐 

在软件开发中遇到困难时,如果得知前人也曾至此,便真是幸甚至哉。在本文集中,ThoughtWorks的领域专家们分享自身所学,将他们在IT及软件开发领域中久经考验的最佳洞见结集成册。这些经验会让我们受益良多,从测试到信息可视化,从面向对象到函数式编程,从增量开发到在交付中持续创新,从改善敏捷方法学到顶尖的语言极客范儿。无论何时,当你需要专家建议时,都能从这些已成功解决的问题中汲取营养。

  每篇文章都源自一线的实践经验,可以拓展你的技能和视野。无论是从事软件开发、部署、测试的人员,还是软件开发的管理者,都可以从本书中获益。

内容简介

书籍

计算机书籍

  《软件开发与创新:thoughtworks文集:续集》中涵盖的软件开发主题十分广泛,从优化敏捷方法论到核心语言都有涉及。其中包括对持续集成、测试和改进软件交付过程提出的独到建议,以及如何在面向对象语言和现代java web 应用程序中使用函数式编程技术等。

  《软件开发与创新:thoughtworks文集:续集》条理清晰、思维严谨却又不乏生动活泼之处,即便是书中专业性最强的文章,也不会让人觉得难以理解。除了技术人员外,本书对相关的非技术人员也很有价值。

媒体评论

  “《软件开发与创新:ThoughtWorks文集(续集)》的一大优点在于主题广泛。技术的快速变化对软件开发者有着很大的影响。本文集不仅涵盖了语言、集成和测试等领域的最新变化,而且还包括了Java服务器端开发的最新动向。文集既对软件开发新手颇有助益,又能帮助经验丰富的程序员过渡到新的开发领域。”

  ——Greg Ostravich,CDOT IT专家

  “ThoughtWorks是一家长久以来令人高山仰止的公司。所以,我欣然受邀,为《软件开发与创新:ThoughtWorks文集(续集)》撰写评论。我尤为喜欢ThoughtWorks精英在实践领域的经验。各位作者的纯熟技艺也在文中展露无疑。更重要的是,该文集所收录的主题与日常的软件开发工作息息相关。在接下来的项目或任务中,我们很可能会从作者的建议中直接获益。我坚信,这是本必读书,你一定会喜欢它。”

  ——Eitan Suez,独立咨询师及演讲家

  “ThoughtWorks的最新文集为我们带来了编程语言、测试和持续交付等领域的最新趋势,同时,又不失实用性。继第一本文集之后,ThoughtWorks又一次将许多具有时效性的、实用的并且引人入胜的文章集结成册,以助软件开发者提升技艺。本文集是所有专业软件开发者的必读书。”

  ——Peter Bell,General Assembly公司技术副总裁

目录

《软件开发与创新:thoughtworks文集:续集》

第1章 引言  1

第一部分 语言

第2章 最有趣的语言  4

2.1  为什么语言很重要  5

2.2  一些有趣的语言  5

2.2.1  clojure  5

2.2.2  coffeescript  10

2.2.3  erlang  14

2.2.4  factor  18

2.2.5  fantom  21

2.2.6  haskell  26

2.2.7  io  30

2.3  总结  33

第3章 面向对象程序设计:对象优于类  34

3.1  对象优于类  35

3.2  类关注与对象关注  36

3.2.1  角色的角色  36

3.2.2  职责分离  42

3.2.3  测试的角度  45

3.2.4  代码库里的线索  46

3.3 “对象关注”的语言  47

3.3.1  ruby  47

3.3.2  javascript  53

3.3.3  groovy  56

3.3.4  scala  58

3.4  要点回顾  58

3.5  总结  59

第4章 使用面向对象语言进行函数式编程  60

4.1  集合  60

4.1.1  转换思维  60

4.1.2  拥抱集合  63

4.1.3  勿忘封装  64

4.1.4  惰性求值  65

4.2 “一等公民”和高阶函数  67

4.3  状态最小化  69

4.4  其他理念  70

4.5  总结  73

第二部分 测试

第5章 极限性能测试  76

5.1  问题描述  76

5.1.1  分离性能测试的传统方式  76

5.1.2  极限编程和敏捷软件开发  77

5.1.3  分离性能测试的不足  78

5.2  另辟蹊径  78

5.2.1  独立的多功能团队  79

5.2.2  描述需求  80

5.2.3  设定计划与排定优先级  81

5.2.4  实现性能故事  82

5.2.5  展示与反馈  83

5.3  极限性能测试实践  83

5.3.1  性能负责人  83

5.3.2  自动化部署  84

5.3.3  自动化分析  85

5.3.4  结果仓库  85

5.3.5  结果可视化  86

5.3.6  自动化测试流程  86

5.3.7  健全性测试  87

5.3.8  持续性能测试  88

5.3.9  规范的性能提升  88

5.4  这对我们有何帮助  89

5.4.1  更好的性能  89

5.4.2  更低的复杂度  89

5.4.3  更高的团队效率  90

5.4.4  更合理的优先级排定  90

5.4.5  开启持续交付  90

5.5  总结  90

第6章 测试驱动javascript  91

6.1  javascript的复兴  91

6.2  当前javascript的处理方式与问题  92

6.3  分离关注点  92

6.4  测试方式  100

6.4.1  倾向于交互测试,而非集成测试  100

6.4.2  在具体用例中使用html夹具编写集成测试  100

6.4.3  使用验收测试验证所有组件的集成  101

6.5  持续集成  101

6.6  工具  101

6.6.1  单元测试  102

6.6.2  语法检查  102

6.6.3  mock框架  102

6.7  总结  102

第7章 构建更好的验收测试  103

7.1  快速测试  103

7.1.1  基于用户行程的测试  103

7.1.2  并行执行测试集  104

7.1.3  考虑使用多种测试驱动器  105

7.1.4  将测试分开运行  107

7.1.5  等待页面元素显示时要小心  107

7.2  有弹性的测试  107

7.2.1  单独选择页面元素  108

7.2.2  等待页面元素显示时要小心(再次强调)  109

7.2.3  在测试中设置测试依赖的数据  110

7.2.4  测试集成点  110

7.3  易于维护的测试  111

7.3.1  使用页面模型  111

7.3.2  结构一致的测试集  112

7.3.3  测试代码产品代码一视同仁  113

7.3.4  切勿受限于工具  113

7.4  付诸实践  114

7.4.1  一地团队  114

7.4.2  维护测试,人人有责  115

7.4.3  故事启动  115

7.4.4  结对测试开发  115

7.4.5  故事展示  116

7.5  总结  116

第三部分 软件开发问题

第8章 现代java web应用  118

8.1  过去的状况  118

8.1.1  有状态的服务器  119

8.1.2  依赖容器  119

8.1.3  违反http规范  120

8.2  无状态服务器  120

8.2.1  集群  120

8.2.2  cookie救世  121

8.2.3  区分用户特定的数据  121

8.2.4  安全cookie  122

8.3  容器是可选的  123

8.3.1  容器外测试  123

8.3.2  我们真的需要容器吗  125

8.4  按新鲜程度分区  125

8.4.1  缓存:可扩展网站的秘密武器  125

8.4.2  选择缓存的内容  126

8.4.3  按新鲜程度分区简介  126

8.4.4  反向代理和内容发布网络简介  128

8.5  post重定向到get  129

8.6  总结  130

第9章 驾驭集成难题  131

9.1  持续集成方法  132

9.1.1  稳定基准  132

9.1.2  集成stub  133

9.1.3  构建流水线  134

9.1.4  监控器  134

9.2  定义集成契约  135

9.3  度量和可见性  135

9.4  总结  136

第10章 实践中的特性开关  137

10.1  简单特性开关  138

10.2  可维护的特性开关  138

10.2.1  依赖注入  139

10.2.2  注解  140

10.3  分离静态资源  141

10.4  阻止意外泄露  142

10.5  运行时开关  142

10.6  不兼容依赖  143

10.7  特性开关的测试  143

10.8  删除完成特性的开关  144

10.9  总结  144

第11章 交付创新  145

11.1  价值流向  146

11.2  新方法  147

11.2.1  协作文化  147

11.2.2  敏捷产品调研与发现  149

11.2.3  快速启动  153

11.2.4  持续设计,持续交付  155

11.3  总结  156

第四部分 数据可视化

第12章 一图胜千言  158

12.1  闻闻咖啡  158

12.2  可视化设计原则  159

12.3  可视化设计流程  160

12.3.1  定义领域任务  160

12.3.2  任务抽象  161

12.3.3  数据抽象  161

12.3.4  可视化编码  163

12.3.5  评估与完善  167

12.4  可视化设计模式  168

12.4.1  探索随时间变化的数据  168

12.4.2  探索相关性  170

12.4.3  探索层次与“局部到整体”关系  170

12.4.4  探索连结和网络  172

12.5  工具和框架  173

12.5.1  可视化程序库  173

12.5.2  图型化工具  174

12.6  总结  174

参考文献  176

索引  178

本图书信息来源: 互动出版网

优质内容筛选与推荐>>
1、SQL FOR XML Path 的用法
2、用ASP.NET Web API技术开发HTTP接口(一)
3、GTK与GLADE的使用与配置[0630]
4、jquery 知识整理
5、蓝桥杯练习 矩形面积交(计算几何)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号