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

代码整洁之道 程序员的职业素养
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Robert C.Martin) , ,
2016-09
版次: 2
ISBN: 9787115434159
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 170页
正文语种: 简体中文
原版书名: The Clean Coder:A Code of Conduct for Professional Programmers
360人买过
  • 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。 作者介绍
    Robert C. Martin,软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪7 0年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。除本书外,还著有《代码整洁之道》《敏捷软件开发:原则、模式和实践》《UML:Java程序员指南》等。他创办了cleancoders.com网站,专为软件开发人员提供教育视频。

    译者介绍
    余晟,混迹软件开发和互联网行业多年,目前在沪江网负责研发和架构管理工作。业余喜爱阅读、思考,关注工程师的全面发展,探索更聪明的技术方案,乐于帮助外界更多理解IT行业的约束、规律和习惯。
    章显洲,蚂蚁金服高级项目专家,业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和与人合译多本技术管理书籍,偶尔也会出现在技术社区聚会上作一些分享。近年来主要致力于蚂蚁金服基础设施和架构升级方面的项目集管理。 必读引言  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.1 10的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-COMP I,我的 第一台计算机 146
    14.2.2 高中时代的ECP-18 148
    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
  • 内容简介:
    本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。
  • 作者简介:
    作者介绍
    Robert C. Martin,软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪7 0年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。除本书外,还著有《代码整洁之道》《敏捷软件开发:原则、模式和实践》《UML:Java程序员指南》等。他创办了cleancoders.com网站,专为软件开发人员提供教育视频。

    译者介绍
    余晟,混迹软件开发和互联网行业多年,目前在沪江网负责研发和架构管理工作。业余喜爱阅读、思考,关注工程师的全面发展,探索更聪明的技术方案,乐于帮助外界更多理解IT行业的约束、规律和习惯。
    章显洲,蚂蚁金服高级项目专家,业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和与人合译多本技术管理书籍,偶尔也会出现在技术社区聚会上作一些分享。近年来主要致力于蚂蚁金服基础设施和架构升级方面的项目集管理。
  • 目录:
    必读引言  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.1 10的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-COMP I,我的 第一台计算机 146
    14.2.2 高中时代的ECP-18 148
    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
查看详情
相关图书 / 更多
代码整洁之道 程序员的职业素养
代码中的软件工程
孟宁
代码整洁之道 程序员的职业素养
代码整洁之道 英文版
[美]罗伯特·C. 马丁(Robert C. Martin)
代码整洁之道 程序员的职业素养
代码的艺术:用工程思维驱动软件开发(必读经典简装本)
章淼
代码整洁之道 程序员的职业素养
代码审计与实操
胡前伟;时瑞鹏;李华风
代码整洁之道 程序员的职业素养
代码随想录——跟着Carl学算法
孙秀洋
代码整洁之道 程序员的职业素养
代码坏味检测方法研究及重构分析
姜德迅 编
代码整洁之道 程序员的职业素养
代码安全实验指导(网络空间安全重点规划丛书)
杨东晓、章磊、吴迪、司乾伟 著
代码整洁之道 程序员的职业素养
代码的艺术:用工程思维驱动软件开发
章淼
代码整洁之道 程序员的职业素养
代码精进之路 从码农到工匠
张建飞
代码整洁之道 程序员的职业素养
代码大全2(纪念版)
[美]史蒂夫.麦康奈尔(Steve McConnell)著 陈玉毅 陈军 杨志昂 洪佳 徐东伟 王国良 徐毅 译
代码整洁之道 程序员的职业素养
代码整洁之道程序员的职业素养英文版
[美]罗伯特·C.、马丁(Robert、C.、Martin 著
代码整洁之道 程序员的职业素养
代码大全2(英文限量珍藏版)
[美]史蒂夫·麦康奈尔(Steve McConnell) 著
您可能感兴趣 / 更多
代码整洁之道 程序员的职业素养
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
代码整洁之道 程序员的职业素养
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
代码整洁之道 程序员的职业素养
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
代码整洁之道 程序员的职业素养
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
代码整洁之道 程序员的职业素养
法哲学基本原理
[美]马克·C.墨菲
代码整洁之道 程序员的职业素养
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
代码整洁之道 程序员的职业素养
杜甫传
[美]弗洛伦斯.艾思柯
代码整洁之道 程序员的职业素养
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
代码整洁之道 程序员的职业素养
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
代码整洁之道 程序员的职业素养
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
代码整洁之道 程序员的职业素养
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
代码整洁之道 程序员的职业素养
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗