敏捷技能修炼

敏捷技能修炼 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社华章公司
作者:Alan Shalloway
出品人:
页数:204
译者:郑立
出版时间:2012-9-5
价格:59.00元
装帧:平装
isbn号码:9787111395270
丛书系列:华章程序员书库
图书标签:
  • 敏捷开发
  • 软件工程
  • 敏捷
  • 软件开发
  • 软件设计
  • Programming
  • agile
  • Jolt大奖
  • 敏捷开发
  • 项目管理
  • 团队协作
  • 技能提升
  • 软件工程
  • 迭代优化
  • 持续交付
  • 用户体验
  • 自我成长
  • 高效工作
想要找书就要到 小哈图书下载中心
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《敏捷技能修炼:敏捷软件开发与设计的最佳实践》的4位作者都是世界顶级的软件开发专家和敏捷导师,都有数十年的软件行业从业经验,其中3位曾荣获Jolt大奖。本书是敏捷软件开发领域公认的经典著作,权威性毋庸置疑。

书中内容围绕“敏捷式编程”这一主题展开,对每一位敏捷软件开发人员都应该掌握的核心技能和技术进行了深入阐述,总结出了大量最佳实践,提供了一整套最精炼的技术集合,可以帮助他们在开发中变得游刃有余,极大地提高开发效率和软件质量。

《敏捷技能修炼:敏捷软件开发与设计的最佳实践》共分四个部分:第一部分(1~7章),阐述了在软件开发过程中能起到“四两拨千斤”作用的几种思想方法(“小舵板”),如意图导向编程、分离构造和使用、测试先行和Shalloway原则等,并总结了业界常用的几种实践,包括如何封装、面向接口的设计和验收测试驱动等;第二部分(8~9章),对过度设计和持续集成这两个问题进行了深入的探讨,并给出了最佳实践;第三部分(10~13章),作者分享了很多只有在他们的教学现场才能获得的经验,这些经验是优秀架构师应该具备的,具体包括共性和可变性分析、以开放关闭原则为目标的重构、需求与功能接口、何时以及如何使用继承等重要内容;第四部分是附录,介绍了统一建模语言、提高代码质量的原则,以及如何封装原始数据类型等。

作者简介

Alan Shalloway,Net Objectives公司创始人及CEO。Alan有40多年工作经验,他是计算机软件行业,特别是精益、看板、产品系列管理、scrum和敏捷设计方面的思想领导者。他帮助公司在企业级层面向精益和敏捷方式转型,同时教授员工相关课程。Alan开发了关于精益-敏捷的培训辅导方法,这帮助Net Objectives公司的客户取得了长期的可持续的生产力。他经常活跃于全球范围的高端峰会并发表精彩演讲。他还是《Design Patterns Explained: A New Perspective on Object-Oriented Design》(Jolt获奖作品)和《Lean-Agile Pocket Guide for Scrum Teams》的主要作者。在他的职业生涯中,Alan从事过多个行业。他是精益软件和系统协会(the Lean Software and Systems Consortium)的共同创始人及董事会成员。他拥有麻省理工学院计算机科学系的硕士学位和艾莫利大学(Emory University)数学系的硕士学位。更多详细信息请查看Twitter上的@alshalloway。

Scott Bain,在计算机技术方面有将近40年经验,从事过软件开发、软件工程、框架设计等方面的工作。Scott也曾经从事课堂和远程教学等教育活动,包括课程的设计、实施培训和相关管理,给用户提供认证培训和终端用户培训。目前Scott在敏捷分析和设计模式、高级软件设计和可持续的测试驱动开发等方面进行授课和提供咨询。同时,Scott还经常在JavaOne和SDWest这样的开发者研讨会上进行精彩的演讲。他是《Emergent Design: The Evolutionary Nature of Professional Software Development》的作者,此书荣获了Jolt生产力奖。

Ken Pugh, Net Objectives公司高级咨询师。凭借多年的丰富经验,他提供培训和辅导,帮助公司向精益-敏捷转型。他热衷于研究沟通(特别是有效地传递需求)、业务价值交付,以及用精益原则来快速进行高质量的交付。同时,在技术课题方面,他提供从面向对象设计到Linux/Unix等多方面的培训和指导。此外,他还写过好几本编程书籍,包括获得2006年Jolt大奖的《Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability》。 最近的一本书是《Lean-Agile Acceptance Test Driven Development: Better Software Through Collaboration》。他的客户遍及伦敦、波士顿、悉尼、北京和海得拉巴。工作之余,他喜欢滑雪、帆船、自行车和阿巴拉契亚徒步登山活动。

Amir Kolsky,Net Objectives的资深咨询师、教练和培训师。Amir从事计算机科学领域已经超过25年了。他在IBM研究院工作过10年,此外有9年时间在各种大小类型的公司担任过首席架构师和首席技术官等职位。他从2000年开始接触敏捷开发。他先后创建了MobileSpear 以及XPand软件公司,专门在以色列和欧洲提供敏捷辅导、软件教育和敏捷项目实施。目前Amir把他的专业经验带到了Net Objectivs,作为敏捷教练和讲师,提供关于精益和敏捷软件流程、工具和实践、Scrum、极限编程、设计模式以及测试驱动开发方面的培训。

目录信息

推荐序
译者序
丛书前言
前言
致谢
第一部分 最关键的小舵板
第1章 意图导向编程
1.1意图导向编程:一个实例
1.2优点
1.2.1方法的内聚性
1.2.2可读性和表达性
1.2.3调试
1.2.4重构和增强
1.2.5单元测试
1.2.6更易修改和扩展
1.2.7在代码中发现模式
1.2.8可迁移的方法
1.3小结
第2章 分离构造和使用
2.1一个重要的问题
2.2两种视图
2.2.1创建视图
2.2.2使用视图
2.2.3隐藏的部分 更容易改动
2.2.4现实的做法
2.2.5一些实际的考量因素
2.3给你的决策计时
2.4重载和C++
2.5自我查验
2.6小结
第3章 代码未动,测试先行
3.1一个小舵板:测试与可测试性
3.2什么是测试
3.3可测试性和代码质量
3.4案例学习:可测试性
3.4.1随时应对变化
3.4.2青蛙一样的程序员
3.5一个关于测试先行的思考
3.5.1更好的设计
3.5.2更清晰的范围和避免不必要的工作
3.5.3降低复杂性
3.5.4其他优势
3.5.5没有例外
3.6小结
第4章 Shalloway法则和Shalloway原则
4.1冗余的种类
4.1.1复制和粘贴
4.1.2“魔法”数字
4.1.3其他类型
4.2重新定义冗余
4.3其他形式的冗余
4.4设计模式在减少冗余时扮演的角色
4.5很少有开发人员花费大量的时间去“修改”代码错误
4.6冗余对代码质量其他方面的影响
4.7小结
第5章 封装
5.1未封装的代码:对全局变量的破坏
5.2成员标志的封装
5.3自封装成员
5.4预防代码更改
5.5封装引用对象的难点
5.6用get()来打破封装
5.7对象类型的封装
5.8设计的封装
5.9各个层次的封装
5.10实用性建议:把困难封装起来
5.11小结
第6章 面向接口的设计
6.1针对接口的设计
6.2接口的定义
6.3接口约定
6.4分离不同的视图
6.5接口的模拟实现
6.6让接口保持简单
6.7避免过早采用继承体系
6.8接口和抽象类
6.9依赖反转原则
6.10多态性概述
6.11不是每个类都需要接口
6.12小结
第7章 验收测试驱动开发
7.1两种开发流程
7.2验收测试
7.3一个关于验收测试的实例
7.4实现验收测试
7.4.1针对用户界面的测试脚本
7.4.2测试用户界面
7.4.3XUnit测试
7.4.4验收测试框架
7.4.5四种方法间的联系
7.5一个练习
7.6如果客户不告诉你怎么做的时候,你应该怎么办
7.7小结
第二部分 基本态度
第8章 避免过度设计或设计不足
8.1给开发人员的箴言
8.2代码质量病理学
8.3避免过度设计或设计不足
8.4把复杂度和返工最小化
8.5永不把代码变得更糟/仅在有目的的情况下降低代码质量
8.6使代码容易修改,足够强大健壮,适应变化并安全可靠
8.7在非面向对象的代码或遗留系统里编写易于修改代码的策略
8.8小结
第9章 持续集成
9.1建立源代码分支
9.1.1多版本:特殊分支
9.1.2孤立地工作:开发分支
9.1.3问题、解决方案、新的问题
9.2将主干内容合并回分支
9.3测试驱动开发与合并成本
9.4持续集成
9.5持续集成服务器
9.6小结
第三部分 设计问题
第10章 共性和可变性分析
10.1用动词和名词来做指南:警告,前面有危险
10.2真正的问题是什么
10.3我们所需要知道的
10.4共性和可变性分析
10.4.1共性分析
10.4.2可变性分析
10.4.3面向对象设计“一箭三雕”
10.5发掘对象的新范式
10.6分析矩阵:一个用例学习
10.7小结
第11章 以开放关闭原则为目标的重构
11.1开放关闭原则
11.1.1从开放关闭原则引申到其他
11.1.2开放关闭原则是一个“原则”
11.2重构
11.2.1为何重构
11.2.2负债还是投资
11.2.3重构和遗留系统
11.2.4以开放关闭原则为目标的重构
11.2.5“及时”设计
11.3小结
第12章 需求与功能接口
12.1迪米特法则
12.2耦合,可恶的耦合,还有依赖
12.2.1耦合和可测试性
12.2.2需求与功能
12.3理想的分离方案:需求接口和功能接口
12.4回到迪米特法则
12.5小结
第13章 何时以及如何使用继承
13.1“四人组”
13.2初始向量,最终结果
13.3优先委托
13.4使用继承与使用委托
13.5继承的使用
13.6可扩展性
13.7在敏捷开发里应用四人组的训诫
13.8测试问题
13.9更多
第四部分 附录
附录A统一建模语言概览
附录B代码质量
附录C封装原始数据类型
· · · · · · (收起)

读后感

评分

抛开人云亦云的敏捷不谈,这本书通过引入一些例子和概念,来引导大家去思考如何进行高质量的软件设计。 读这本书,会使我一直沉浸在印证自己的编程经验的状态中,时而,恍然大悟,时而,追悔莫及。 读这本书,你会像我一样有所收获,不过更重要的是坚持不懈的实践,实践出真知。

评分

抛开人云亦云的敏捷不谈,这本书通过引入一些例子和概念,来引导大家去思考如何进行高质量的软件设计。 读这本书,会使我一直沉浸在印证自己的编程经验的状态中,时而,恍然大悟,时而,追悔莫及。 读这本书,你会像我一样有所收获,不过更重要的是坚持不懈的实践,实践出真知。

评分

抛开人云亦云的敏捷不谈,这本书通过引入一些例子和概念,来引导大家去思考如何进行高质量的软件设计。 读这本书,会使我一直沉浸在印证自己的编程经验的状态中,时而,恍然大悟,时而,追悔莫及。 读这本书,你会像我一样有所收获,不过更重要的是坚持不懈的实践,实践出真知。

评分

抛开人云亦云的敏捷不谈,这本书通过引入一些例子和概念,来引导大家去思考如何进行高质量的软件设计。 读这本书,会使我一直沉浸在印证自己的编程经验的状态中,时而,恍然大悟,时而,追悔莫及。 读这本书,你会像我一样有所收获,不过更重要的是坚持不懈的实践,实践出真知。

评分

抛开人云亦云的敏捷不谈,这本书通过引入一些例子和概念,来引导大家去思考如何进行高质量的软件设计。 读这本书,会使我一直沉浸在印证自己的编程经验的状态中,时而,恍然大悟,时而,追悔莫及。 读这本书,你会像我一样有所收获,不过更重要的是坚持不懈的实践,实践出真知。

用户评价

评分

这本书的阅读体验,与其说是在“读”一本技术手册,不如说是在和一位经验丰富的前辈进行深度对话。作者的叙事逻辑非常清晰,他似乎深知读者在学习新方法时会遇到的各种认知障碍,因此总能在关键节点插入一些反思性的问题,引导读者自我审视当前的实践。我印象最深的是关于“用户故事梳理”的那一章,它没有停留在“写下用户想做什么”的初级阶段,而是细致地讲解了如何运用“三C原则”(卡片、对话、确认)来确保用户故事的完整性和可测试性。书中还提供了一套自制的模板和检查清单,我把这些打印出来贴在了工位附近,每次准备迭代计划时都会对照检查一遍,这极大地减少了遗漏关键需求的概率。与其他同类书籍不同,这本书更关注“人”在流程中的作用,它深入探讨了冲突管理和团队动力学,强调技术和流程的落地最终要靠人与人之间的协作和理解。对于我这种偏向技术实现,但在团队协调方面略显不足的人来说,这部分内容的价值是难以估量的,它让我意识到,高效的交付不仅仅是代码的堆砌,更是人心的凝聚。

评分

从装帧设计来看,这本书的排版非常考究,大量的图表和流程图占据了重要的位置,有效地缓解了纯文字阅读的疲劳感。但真正让我爱不释手的是它的“实用工具箱”部分,那简直是为我们这些一线执行者量身定做的。书中提供了一套完整的会议结构模板,从项目启动会到回顾会,每种会议的目标、参与人员、关键产出物都一一列明。我发现,很多时候我们效率低下,不是因为不懂理论,而是因为缺乏一个标准化的启动框架来保证每次会议的有效性。这本书的好处在于,它提供的是一套可以被直接复制并稍作修改后投入使用的“即插即用”的解决方案。它教会我的不仅仅是敏捷方法论,更重要的是一种系统性的思维方式——如何将一个复杂的、模糊的目标,拆解成一系列可控的、可衡量的、可交付的小任务。每当工作陷入僵局时,翻开这本书的任何一页,总能找到一个重新聚焦和调整方向的有效切入点,它更像是一本随时待命的“实战手册”。

评分

这本书的学术深度和实践广度拿捏得恰到好处,它并非仅仅是罗列了各种“怎么做”的步骤,而是深入探究了“为什么”要这样做。例如,在解释迭代计划的制定时,作者花费了大量的篇幅来讨论“不确定性”的本质,并基于此推导出为什么我们需要一个灵活而非僵硬的计划。这种从底层原理出发的论证方式,使得书中的方法论不容易因为环境变化而过时。我尤其欣赏作者对“度量衡”的讨论,他没有盲目推崇那些光鲜亮丽的指标,而是强调选择与当前组织目标高度相关的“北极星指标”,并警示我们警惕“虚荣指标”的陷阱。书中还引用了大量的心理学和社会学研究来佐证其观点,使得整本书的论述不仅仅停留在工具层面,更具有深刻的人文关怀。我身边很多同事,在阅读了关于“构建心理安全感”的那几章后,明显感觉团队的创新意愿增强了,大家不再害怕犯错,而是把失败看作是学习的机会。

评分

我是在一个跨职能部门的转型项目中接触到这本书的,当时我们面临的最大挑战是业务部门和技术部门之间存在巨大的认知鸿沟。市面上很多关于流程优化的书,要么过于偏向管理层宏观的战略部署,要么就完全是面向程序员的编码规范,很少有能真正架起这两座桥梁的。这本书的独特之处就在于,它用一套统一的、非技术化的语言来描述整个价值流。作者在讲述“价值流图绘制”时,采用了非常直观的图形化描述,让我们即便是不懂技术开发的业务同事,也能一眼看出流程中的等待时间都浪费在哪里。书中反复出现的“可视化一切”的口号,被我们团队采纳为新的工作信条。我们开始用白板、便利贴把所有工作任务、依赖关系、瓶颈环节全部公开展示,这种物理上的透明化,极大地促进了跨部门的理解和共同担责。这本书对“小批次交付”的推崇,也颠覆了我们过去“大爆炸式”发布带来的巨大风险,教会我们如何通过频繁的小规模发布来快速验证市场反应。

评分

这本书的封面设计极具现代感,那种深沉的蓝色调搭配醒目的橙色字体,立刻就给人一种专业而又充满活力的感觉。我当初就是被这种强烈的视觉冲击力吸引的,我当时正在寻找一本能帮助我梳理工作流程,提升项目交付效率的书籍。翻开书页,我发现作者的语言风格非常直接,没有太多冗长复杂的理论铺陈,而是直奔主题,用大量的实际案例来阐述观点。比如,书中对于“每日站会”的描述,不是简单地告诉你要开会,而是深入剖析了如何设计一个能在15分钟内真正产生价值的站会,甚至连站位的选择、提问的顺序都有详细的指导,这一点让我觉得非常实用。书中提倡的“小步快跑,持续反馈”的理念,在不同章节中反复被强调和深化,这对于我们团队当时那种项目动辄拖延数月的困境,无疑是一剂强心针。我特别欣赏作者在讲解风险管理部分时的做法,他没有使用那些高高在上的术语,而是用“把坏事尽可能早地说出来”这种非常接地气的方式,教会我们如何在团队内部建立起一种透明且信任的文化。读完第一部分,我就迫不及待地在自己的日常工作中尝试运用书中的一些技巧,效果立竿见影,团队的沟通效率明显提升了。

评分

很多人,或许强调敏捷的一个结果,快速原型。但是本质上的敏捷反而从来不去实践,为实现持续集成需要的架构,自动化工具和实践,测试驱动开发,意图导向的编码,还有敏捷的原则。本书没有过多探讨团队,但是其实强大的团队和流程才是敏捷的核心

评分

: TP311.521/3132

评分

对于OO初学者还是非常有用的。我通过本书也了解了更多OO的知识。遗憾的是,我比较期待的意图导向编程与共性可变性分析讲得太简单了。

评分

有敏捷实践的基础,看起来会容易很多。但是讲的很浅显很泛。

评分

设计和代码层面的敏捷方法

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 qciss.net All Rights Reserved. 小哈图书下载中心 版权所有