欢迎来到相识电子书!
代码整洁之道:程序员的职业素养

代码整洁之道:程序员的职业素养

作者:罗伯特·C.马丁 (Robert C.Martin)

分类:科技

ISBN:9787115434159

出版时间:2016-9-1

出版社:人民邮电出版社

标签: 编程 

章节目录

必读引言1
第1章 专业主义 7
1.1 清楚你要什么 8
1.2 担当责任 8
1.3 首先,不行损害之事 10
1.3.1 不要破坏软件功能 10
1.3.2 不要破坏结构 12
1.4 职业道德 13
1.4.1 了解你的领域 14
1.4.2 坚持学习 16
1.4.3 练习 16
1.4.4 合作 17
1.4.5 辅导 17
1.4.6 了解业务领域 17
1.4.7 与雇主/客户保持一致 18
1.4.8 谦逊 18
1.5 参考文献 18
第2章 说“不” 19
2.1 对抗角色 21
2.2 高风险时刻 24
2.3 要有团队精神 25
2.3.1 试试看 26
2.3.2 消极对抗 28
2.4 说“是”的成本 30
2.5 如何写出好代码 35
第3章 说“是” 37
3.1 承诺用语 39
3.1.1 识别“缺乏承诺”的征兆 40
3.1.2 真正的承诺听起来是怎样的 40
3.1.3 总结 43
3.2 学习如何说“是” 43
3.2.1 “试试”的另一面 43
3.2.2 坚守原则 44
3.3 结论 46
第4章 编码 47
4.1 做好准备 48
4.1.1 凌晨3点写出的代码 49
4.1.2 焦虑时写下的代码 50
4.2 流态区 51
4.2.1 音乐 52
4.2.2 中断 53
4.3 阻塞 53
4.4 调试 55
4.5 保持节奏 57
4.5.1 知道何时应该离开一会 58
4.5.2 开车回家路上 58
4.5.3 洗澡 58
4.6 进度延迟 58
4.6.1 期望 59
4.6.2 盲目冲刺 59
4.6.3 加班加点 60
4.6.4 交付失误 60
4.6.5 定义“完成” 61
4.7 帮助 61
4.7.1 帮助他人 61
4.7.2 接受他人的帮助 62
4.7.3 辅导 62
4.8 参考文献 63
第5章 测试驱动开发 65
5.1 此事已有定论 66
5.2 TDD的三项法则 67
5.3 TDD的优势 68
5.3.1 确定性 68
5.3.2 缺陷注入率 68
5.3.3 勇气 69
5.3.4 文档 69
5.3.5 设计 70
5.3.6 专业人士的选择 70
5.4 TDD的局限 70
5.5 参考文献 71
第6章 练习 73
6.1 引子 73
6.1.110的22次方 74
6.1.2 转变 75
6.2 编程柔道场 76
6.2.1 卡塔 77
6.2.2 瓦萨 78
6.2.3 自由练习 78
6.3 自身经验的拓展 79
6.3.1 开源 79
6.3.2 关于练习的职业道德 79
6.4 结论 80
6.5 参考文献 80
第7章 验收测试 81
7.1 需求的沟通 81
7.1.1 过早精细化 83
7.1.2 迟来的模糊性 83
7.2 验收测试 85
7.2.1 “完成”的定义 85
7.2.2 沟通 88
7.2.3 自动化 88
7.2.4 额外工作 89
7.2.5 验收测试什么时候写,由谁来写 90
7.2.6 开发人员的角色 90
7.2.7 测试的协商与被动推进 91
7.2.8 验收测试和单元测试 93
7.2.9 图形界面及其他复杂因素 93
7.2.10 持续集成 94
7.3 结论 95
第8章 测试策略 97
8.1 QA应该找不到任何错误 98
8.1.1 QA也是团队的一部分 98
8.1.2 需求规约定义者 98
8.1.3 特性描述者 98
8.2 自动化测试金字塔 98
8.2.1 单元测试 99
8.2.2 组件测试 100
8.2.3 集成测试 100
8.2.4 系统测试 101
8.2.5 人工探索式测试 102
8.3 结论 102
8.4 参考文献 102
第9章 时间管理 103
9.1 会议 104
9.1.1 拒绝 104
9.1.2 离席 105
9.1.3 确定议程与目标 105
9.1.4 立会 106
9.1.5 迭代计划会议 106
9.1.6 迭代回顾和DEMO展示 107
9.1.7 争论/反对 107
9.2 注意力点数 108
9.2.1 睡眠 108
9.2.2 咖啡因 108
9.2.3 恢复 109
9.2.4 肌肉注意力 109
9.2.5 输入与输出 109
9.3 时间拆分和番茄工作法 110
9.4 要避免的行为 110
9.5 死胡同 111
9.6 泥潭 111
9.7 结论 112
第10章 预估 113
10.1 什么是预估 115
10.1.1 承诺 115
10.1.2 预估 115
10.1.3 暗示性承诺 117
10.2 PERT 118
10.3 预估任务 120
10.4 大数定律 122
10.5 结论 123
10.6 参考文献 123
第11章 压力 125
11.1 避免压力 127
11.1.1 承诺 127
11.1.2 保持整洁 127
11.1.3 危机中的纪律 128
11.2 应对压力 128
11.2.1 不要惊慌失措 128
11.2.2 沟通 129
11.2.3 依靠你的纪律原则 129
11.2.4 寻求帮助 129
11.3 结论 129
第12章 协作 131
12.1 程序员与人 133
12.1.1 程序员与雇主 133
12.1.2 程序员与程序员 135
12.2 小脑 137
12.3 结论 138
第13章 团队与项目 139
13.1 只是简单混合吗 139
13.1.1 有凝聚力的团队 140
13.1.2 如何管理有凝聚力的团队 141
13.1.3 项目承包人的困境 142
13.2 结论 142
13.3 参考文献 143
第14章 辅导、学徒期与技艺 145
14.1 失败的学位教育 145
14.2 辅导 146
14.2.1 DIGI—COMPI,我的第一台计算机 146
14.2.2 高中时代的ECP—18148
14.2.3 非常规辅导 150
14.2.4 艰难的锤炼 150
14.3 学徒期 151
14.3.1 软件学徒期 152
14.3.2 现实情况 154
14.4 技艺 154
14.5 结论 155
附录 工具 157

内容简介

1. 汇聚编程大师40余年编程生涯的心得体会

2. 阐释软件工艺中的原理、技术、工具和实践

3. 助力专业软件开发人员具备令人敬佩的职业素养

成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。

软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

书中的具体内容包括:

● 成为真正的软件专业人士需要具备哪些条件,如何应对彼此冲突又紧张的进度表和不近情理的管理人员;

● 如何做到流畅编程,克服阻塞状态;

● 如何应对无休止的工作压力,避免崩溃;

● 如何培养坚持不懈的态度,如何拥抱新的开发范式;

● 如何管理好时间,避免身陷泥潭无法自拔;

● 如何培育有利于程序员和开发团队茁壮成长的环境;

● 什么时候应该说“不”,怎么说;

● 什么时候应该说“是”,承诺意味着什么。

软件强大、优雅而实用,让人惊叹不已,不论是开发者还是用户都乐于使用这样的软件。它们并非是由机器编写出来的,而是出自那些对软件技艺拥有坚定信念的专业软件开发者之手。本书将帮助读者成为专业软件开发者中的一员,并赢得只有他们才能拥有的荣誉感和成就感。

下载说明

1、代码整洁之道:程序员的职业素养是作者罗伯特·C.马丁 (Robert C.Martin)创作的原创作品,下载链接均为网友上传的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接

热门评论

  • 羡辙的评论
    值得一看,主要还是软件工程的一套,但不乏点睛之笔,适合粗读。但是书名翻译太强行,其实跟代码整洁没啥关系,主要讲的是如果成为一个专业负责的程序员。
  • 小阿的评论
    好久没一口气读这么久书了,就像是老前辈在对你侃侃而谈一样,确实有不少干货,但还是需要自行提炼。
  • Jun的评论
    学习了!
  • 的评论
    dbq 我觉得这本书可以用作阿董软件工程的课外读物了哈哈哈哈哈哈哈哈哈哈 看书的时候想到阿董的吐槽就十分有趣
  • 爱读书的小柳柳的评论
    专业的精神,承诺的兑现,职业素养,学校能够传授的是计算机编程的理论,但是学校并不会也无法传授作为一个编程匠者所需要掌握的原则、实践和技能
  • Treaser的评论
    写给码农的职业手册
  • 麦小孩的评论
    程序员界的心灵鸡汤,看了还是有用,但是不去实践很快就和没看差不多了
  • 赖涛儿的评论
    不认同书中的大多数观点,这本书显得过时了。猜测作者是出身于传统软件行业的老程序员?对于员工的要求过于苛刻,看问题的角度像是老板而不是程序员。关于测试,盲目追求覆盖率甚至为了测试改变程序应有的结构,我觉得是不可接受的。文中很多观点浮于表面,比如要求代码要经常改,我同意,但本质上应该保持简洁的同时应变复杂的需求。只有简单的东西才是可以被依赖的。总之,这本书一行代码都没,感觉在瞎扯。
  • 元勰的评论
    感觉不出来这些原则有多大用处.我们处在目前的环境下,有多少机会和老大们说不? 至于预警还是蛮重要的. 至于Bob大叔所谓的专业主义是什么,感觉还是没有阐述清楚.
  • .的评论
    所有提到的坑在现在公司都碰到了。简直就是不专业的小公司的说明书。
  • Link的评论
    副标题作为主标题比较准确。
  • 白尾巴的黑猫的评论
    买错了 本来想买clean code 但还是值得一看的 看第一章 以为就是些心灵鸡汤+TDD的陈词滥调 但从第二章开始 真心觉得需求管理混乱的人/团队有必要反复反复反复反复地读
  • 回家看动画的评论
    对于TDD之类的追求感觉是真的乏力
  • 岚大爷本人。的评论
    某喜欢看Bob叔的书的原因是因为某不是一个程序员。 但B其魅力就在于此——给不是一个程序员的人看,也能举一反三用在工作中。 代码要整洁。工作也要整洁。这样的书简直可以当成一切工作的职业教育入门课来做了(正经的管理类书籍反而显得特别小儿科和不专业。 每当某打开一张非常粗犷的脏表做清洗里,就深深的会体会到不爽。当然自己也不能做出这样的数据和文字。 一个小tip是kata。作为工作前的热身倒真是个不错的选择。最近开始尝试用这段短时来做点快捷键的记忆或是别的练习。 本书中有关心流的负面评价有点出意料。但仔细一琢磨也很道理。说白了心流只适合做些重复性工作,至于创造性工作,还是需要抬头看,不能低头做。 TDD是非常有挑战性的活儿。对于数据工作者也适用。但一个问题可能是……这真是一件需要经验和试错的活儿。
  • liuwill的评论
    创造性的输入,产生创造性的输出!这本Bob大叔定义专业程序员为目的的书,从个人的精进练习到时间管理,测试,需求,压力,到理想的团队,描述作者的程序员修炼之道。只是怎么样自己去实践做到
  • 好铁的评论
    Bob大叔是自洽于程序员这一工匠职业的人
  • 钱德勒的评论
    作者以自己的经历讲述程序员这个职业应该有的素养:tdd 重构 估算 。
  • 七月的评论
    在危机中也要保持平时坚持的整洁习惯。想想我的房间,泪目。
  • mindthink的评论
    关于测试与时间管理的部分nice
  • 晚上吃啥的评论
    成为一个专业的程序员需要的不仅仅是技术,还有一些专业的素养需要掌握。在这本书里,Bob大叔从这些必须的素养说起,包括责任、职业道德、承诺、TDD、时间管理、压力、协作、团队以及学习等方面,通过自己的经历介绍了这些一个专业程序员所需要掌握的东西。看来需要学习的东西还有很多呀。