Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客,除本书外,还著有《代码整洁之道》、《敏捷软件开发:原则、模式和实践》、《UML:Java程序员指南》等。他最近创办了cleancoders.com网站,专为软件开发人员提供教育视频。
章显洲,阿里巴巴高级技术专家,敏捷与精益方法实践者,专注于敏捷与精益管理,擅长互联网研发团队的构建与改善。业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和合译的技术书籍包含《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的97件事》、《程序员的职业素养》、《看板》。偶尔也会出现在技术社区的聚会上作一些分享和演讲。博http://genericbrain.com 。新浪微博@章显洲-Arthur。
余晟,毕业于东北师范大学计算机系,副修中文,非正统型技术爱好者。曾任抓虾网、银杏泰克主力程序员,盛大创新院高级研究员,现任华南某电商公司技术总监。坚信计算机可以无限延伸人的能力,前提是人必须理解计算机的逻辑,所以对任何技术都不应该浅尝辄止,仅仅满足于“会用”。
目 录
第1章专业主义1
1.1清楚你要什么2
1.2担当责任2
1.3首先,不行损害之事4
1.3.1不要破坏软件功能4
1.3.2不要破坏结构7
1.4职业道德8
1.4.1了解你的领域10
1.4.2坚持学习11
1.4.3练习11
1.4.4合作12
1.4.5辅导12
1.4.6了解业务领域13
1.4.7与雇主/客户保持一致13
1.4.8谦逊13
1.5参考文献14
第2章说“不”15
2.1对抗角色17
2.2高风险时刻20
2.3要有团队精神22
2.3.1试试看24
2.3.2消极对抗25
2.4说“是”的成本27
2.5如何写出好代码34
第3章说“是”37
3.1承诺用语39
3.1.1识别“缺乏承诺”的征兆40
3.1.2真正的承诺听起来是怎样的41
3.1.3总结43
3.2学习如何说“是”43
3.2.1“试试”的另一面43
3.2.2坚守原则44
3.3结论47
第4章编码48
4.1做好准备49
4.1.1凌晨3点写出的代码50
4.1.2焦虑时写下的代码51
4.2流态区53
4.2.1音乐54
4.2.2中断55
4.3阻塞55
4.4调试57
4.5保持节奏60
4.5.1知道何时应该离开一会60
4.5.2开车回家路上61
4.5.3洗澡61
4.6进度延迟61
4.6.1期望62
4.6.2盲目冲刺62
4.6.3加班加点63
4.6.4交付失误63
4.6.5定义“完成”64
4.7帮助64
4.7.1帮助他人64
4.7.2接受他人的帮助65
4.7.3辅导66
4.8参考文献66
第5章测试驱动开发67
5.1此事已有定论69
5.2TDD的三项法则69
5.3TDD的优势70
5.3.1确定性70
5.3.2缺陷注入率71
5.3.3勇气71
5.3.4文档72
5.3.5设计72
5.3.6专业人士的选择73
5.4TDD的局限73
5.5参考文献74
第6章练习75
6.1引子75
6.1.110的22次方76
6.1.2转变77
6.2编程柔道场79
6.2.1卡塔80
6.2.2瓦萨81
6.2.3自由练习81
6.3自身经验的拓展82
6.3.1开源82
6.3.2关于练习的职业道德82
6.4结论83
6.5参考文献83
第7章验收测试84
7.1需求的沟通84
7.1.1过早精细化86
7.1.2迟来的模糊性87
7.2验收测试89
7.2.1“完成”的定义89
7.2.2沟通91
7.2.3自动化92
7.2.4额外工作93
7.2.5验收测试什么时候写,由谁来写93
7.2.6开发人员的角色94
7.2.7测试的协商与被动推进95
7.2.8验收测试和单元测试96
7.2.9图形界面及其他复杂因素97
7.2.10持续集成98
7.3结论98
第8章测试策略99
8.1QA应该找不到任何错误100
8.1.1QA也是团队的一部分100
8.1.2需求规约定义者100
8.1.3特性描述者100
8.2自动化测试金字塔101
8.2.1单元测试101
8.2.2组件测试102
8.2.3集成测试103
8.2.4系统测试104
8.2.5人工探索式测试104
8.3结论105
8.4参考文献105
第9章时间管理106
9.1会议107
9.1.1拒绝107
9.1.2离席108
9.1.3确定议程与目标109
9.1.4立会109
9.1.5迭代计划会议109
9.1.6迭代回顾和DEMO展示110
9.1.7争论/反对110
9.2注意力点数111
9.2.1睡眠112
9.2.2咖啡因112
9.2.3恢复112
9.2.4肌肉注意力112
9.2.5输入与输出113
9.3时间拆分和番茄工作法113
9.4要避免的行为114
9.5死胡同115
9.6泥潭115
9.7结论116
第10章预估117
10.1什么是预估119
10.1.1承诺119
10.1.2预估120
10.1.3暗示性承诺121
10.2PERT122
10.3预估任务125
10.4大数定律127
10.5结论127
10.6参考文献128
第11章压力129
11.1避免压力131
11.1.1承诺131
11.1.2保持整洁132
11.1.3危机中的纪律132
11.2应对压力133
11.2.1不要惊慌失措133
11.2.2沟通133
11.2.3依靠你的纪律原则133
11.2.4寻求帮助134
11.3结论134
第12章协作135
12.1程序员与人137
12.1.1程序员与雇主137
12.1.2程序员与程序员140
12.2小脑142
12.3结论143
第13章团队与项目144
13.1只是简单混合吗144
13.1.1有凝聚力的团队145
13.1.2如何管理有凝聚力的团队146
13.1.3项目承包人的困境147
13.2结论148
13.3参考文献148
第14章辅导、学徒期与技艺149
14.1失败的学位教育149
14.2辅导150
14.2.1DIGI-COMP I, 我的第一台计算机150
14.2.2高中时代的ECP-18152
14.2.3非常规辅导154
14.2.4艰难的锤炼155
14.3学徒期156
14.3.1软件学徒期158
14.3.2现实情况159
14.4技艺160
14.5结论161
附录工具162
《俄苏文学研究的学术历程》内容简介:本书以俄苏文学研究的百年历程为线索,以学术转型为理论框架,梳理了俄苏文学研究的成绩和不
《改革开放以来中国对外政策变迁研究》内容简介:有价值的学术争鸣有助于我们理解中国对外政策研究的变迁。改革开放以来,中国国际
《心理韧性》内容简介:作为家长,当孩子还在我们的羽翼之下时,我们应该做什么,来帮助孩子有能力应对今后可能遇到的困境?作为老
《松本行弘的程序世界》是探索程序设计思想和方法的经典之作。作者从全局的角度,利用大量的程序示例及图表,深刻阐述了Ruby编程
《说来话儿长》(精)作者知识广博,视野广阔,信手拈来,涉笔成趣,无论是谈“便便”,还是谈“那话儿”,都给人耳目一新之感。《
《Python数据分析与数据化运营》内容简介:Python在数据分析领域得到了越来越广泛的应用。第一部分着眼于风险对股市指数期权的价值
《互联网+》内容简介:看看国外是怎么“互联网+”的? 100多个海外“互联网+”成功案例重磅呈现! 本书特别适合有志于互联网创业的
《鲁迅诗稿·鲁迅遗印(繁体竖排版)》讲述了:当人类共同跨人二○○年这一不平凡的时刻,回望历史,有着无数伟人的身影。二十世纪
简媜的童年是在乡村度过的。乡村古朴、圆和、亲切的氛围让她获得更多的是生存的宁静。她的笔触抒情如诗,包容着浓烈的柔情,充分
鲁迅为什么弃医从文?鲁迅与毛泽东见过面吗?兄弟参商为哪般――鲁迅与周作人究竟为什么决裂?“罗曼?罗兰致鲁迅的信”哪里去了?
本书收录作者1980年访问或介绍英美16位作家的文章,其中不乏大家,也有今天不常见的若干作家。以作者一贯的娓娓道来的语气,再现
目前,齐泽克著作的中译本已经出版六七种之多,但老实说,其著作并不好读。对于许多既不熟悉他思想的两大来源———黑格尔和雅克
本书为暖心文集。这些文字的作者来自各行各业,他们中有律师,有学生,有新媒体运营者,有教师,有自由职业者,他们以文字与音乐
丘彦明编著的《在荷兰过日子》近三十篇独立的散文,抒写在荷兰过日子一些小事小物的亲身经验,轻松度日的过程与感受,虽是个人生
本书收录了鲁迅一些虽无学术文章的形式,但实则有着深刻的理论见解,而且在现实中也的确起过重要作用的杂文、序跋和译文附记等。
《船夫日记》内容简介:“这条船是大家共有的。你们建造了它,我们一起乘它出航;不过,我们无法操纵那将我们席卷的水流。既然这样
《我伤感的青春》内容简介:回想自己的青春,有爱,有情,但同时还有不少的烦恼:彷徨与迷惘。作者渡边淳一写这本书便是想对自己过
《拥抱》是我第二本散文精选的名字,因为这是我最喜欢的一种“运动”。有时候,我觉得自己像一只树熊,喜欢爬到情人身上,四肢牢
《传习录译注》内容简介:王阳明(1472—1529),明代大儒,与朱子并为宋明八百年儒学两大祭酒,心学的集大成者,立德、立言、立功
《鲁迅杂文选读》简介:阅读鲁迅、了解鲁迅,是一门无法忽略的功课,也是一种不可推卸的责任。鲁迅的杂文就像一座横亘在我们面前