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
2005年起,王芳芳在豆瓣网以“这么”之名,发表了大量散文随笔,成为豆瓣最受欢迎的实力派作者之一。她的文字有英气,句子短,断
《半饱--生活高潮之所在(欧阳应霁)》的作者一个擅长设计、见闻广博,对生活永远有热力永远有好奇的创作人,如果他恰巧又精于厨
《区域经济前沿》内容简介:面对即将到来的“十四五”时期,区域协调发展在我国经济发展中的作用越来越明显。孙久文教授等著的本书
《动物直播间:冰雪中行走的巨人》内容简介:本书选择那些已经消失在历史长河中的灭绝动物作为主人公,让它们用直播的形式自己来述
《“一带一路”访问记:在华留学生的“回乡”见闻》内容简介:本书是由在华留学生撰写的关于“一带一路”倡议的文章合辑。书稿中的
这是一本由三十篇短小精炼的情感小文+十二篇私密诗歌+十个衍生出坏品位谬论的话题集结而成的书籍,包括欲望,名誉,身份,情爱,
《温故(十六)》内容简介:《温故》是一种陆续出版的历史文化读物。以今天的视角来追怀与审视过去,并为当下的生存与未来的发展提
《Mahout算法解析与案例实战》内容简介:本书是一本经典的Mahout著作,原理与实战并重。不仅全面分析了Mahout算法库不同模块中的各
《空海《文镜秘府论》与中日文化交流》内容简介:不论在中日文化交流史上,还是在日本文化史,空海都是重要人物。空海随第十七次遣
本书分为机场段子、美味段子、胡同段子、大学段子、外企段子、文人段子和动物段子七个部分。虽然该书在终审时删掉了一些精彩的带
本书作者贝奈戴托·克罗齐(BenedettoCroce,1866—1952年)是意大利著名的资产阶级唯心主义哲学家,新黑格尔主义学派的代表人物之
鲁迅研究界著名专家何书明编著的这本《鲁迅箴言》收录了鲁迅先生关于人生体验、读书作文、历史、国民性等方面的言论,收录其中的
《忧患:边事、党争与北宋政治》内容简介:澶渊之盟后的百年和平,只是宋辽双方政策制定者有时正确、有时错误的决策导致的偶然结果
鲁迅〔1881年9月25日~1936年10月19日〕,中国文学家、思想家和革命家。原名周树人,字豫才,浙江绍兴人。出身于破落封建家庭。青
《人大附小的课堂四声》内容简介:本书是人大附小践行七彩教育理念的教学研究成果,“笑声、掌声、质疑声、辩论声”是郑校长提出的
这是对古之山水诗境的一次回拜。在《空灵》里,简媜尝试撷取中国山水诗的悠然旷远意境,铺叙一趟心灵之旅。全书以篇幅精短的散文
政治是治理,政略則是對政治的反叛。Rancière要用政略對抗政治。「人們一般稱政治(即police)為一種程序操作的整體,通過這些操
《吴三桂全传》内容简介:吴三桂是中国历史上一位充满争议的话题人物,长期以来对他的评价一直受到学者和读者的关注。本稿作者是明
《哨鹿》為西西創作生涯之第二部長篇小說,兼以傳統與現代的敘事技巧,深刻而廣大地處理了史實與虛構激盪而出的時代人性,佈焗開
《从点子到产品》内容简介:本书以产品经理的价值观与方法论为主线,讲述了产品经理在从点子到产品的过程中应该考虑的问题、思考问