代码的艺术:用工程思维驱动软件开发
正版图书 真实库存欢迎选购 可开电子发票 有需要联系客服!
¥
51.14
5.1折
¥
100
全新
库存2件
作者章淼
出版社电子工业出版社
ISBN9787121426711
出版时间2022-03
装帧精装
开本32开
定价100元
货号31374997
上书时间2024-12-17
商品详情
- 品相描述:全新
- 商品描述
-
目录
第1 章
软件工程能力
1.1 为什么要重视工程能力 / 3
1.2 什么是工程能力 / 5
1.2.1 工程能力的误区 / 5
1.2.2 工程能力的定义 / 6
1.3 怎样提升工程能力 / 11
第2 章
代码的艺术
2.1 背景和初衷 / 17
2.2 代码和艺术 / 18
2.2.1 代码也能成为艺术作品 / 18
2.2.2 软件工程师和“码农” / 22
2.2.3 来自艺术的启发 / 24
2.2.4 写代码并非易事 / 26
2.3 好代码和坏代码 / 28
2.3.1 好代码的特性 / 28
2.3.2 坏代码的例子 / 33
2.4 好代码从哪里来 / 35
2.4.1 好代码不止于编码 / 35
2.4.2 需求分析和系统设计 / 36
2.5 如何做好需求分析 / 41
2.5.1 如何描述需求 / 41
2.5.2 对需求分析的误解 / 43
2.5.3 需求分析的重要性 / 47
2.6 如何做好系统设计 / 47
2.6.1 什么是系统设计 / 48
2.6.2 设计文档的分类 / 49
2.6.3 什么是系统架构 / 50
2.6.4 系统设计的原则和方法 / 52
2.6.5 重视对外接口 / 56
2.7 如何写出好代码 / 59
2.7.1 代码的沟通价值 / 59
2.7.2 模块的设计方法 / 64
2.7.3 划分模块的方法 / 71
2.7.4 函数的设计方法 / 75
2.7.5 代码块的编写注意事项 / 85
2.7.6 软件开发中的命名 / 89
2.8 如何支持系统运营 / 90
2.8.1 可监测性的重要性 / 91
2.8.2 以BFE 开源项目为例 / 92
2.9 成为优秀软件工程师的三条路径 / 93
2.9.1 路径一:学习―思考―实践 / 93
2.9.2 路径二:知识―方法―精神 / 96
2.9.3 路径三:基础乃治学之根本 / 98
第3 章
代码评审
3.1 代码评审的常见误区 / 103
3.2 为什么要做好代码评审 / 104
3.2.1 代码评审的重要意义 / 104
3.2.2 没有做好代码评审的后果 / 106
3.2.3 为什么要提升代码质量 / 106
3.2.4 为什么要提升编码能力 / 108
3.3 如何做好代码评审 / 108
3.3.1 代码评审的常见问题 / 109
3.3.2 代码评审的正确态度 / 109
3.3.3 代码评审的推荐步骤 / 111
3.3.4 对坏代码的简单判断 / 112
3.3.5 代码评审的注意事项 / 113
3.4 如何成为好的代码评审人 / 116
第4 章
“代码的艺术”应用
4.1 需求的分析 / 121
4.1.1 题目说明 / 121
4.1.2 功能分析 / 122
4.2 软件的架构 / 123
4.2.1 模块切分 / 123
4.2.2 系统架构 / 128
4.2.3 软件组装 / 130
4.2.4 crawler 间的数据共用 / 132
4.2.5 数据封装 / 133
4.2.6 crawler 的执行逻辑 / 134
4.3 多线程机制 / 135
4.3.1 数据互斥访问 / 136
4.3.2 临界区注意事项 / 138
4.3.3 任务的分发 / 141
4.3.4 程序的优雅退出 / 143
4.4 其他实现细节 / 146
4.4.1 配置的读取 / 146
4.4.2 种子信息的读取 / 147
4.4.3 import 的使用 / 150
4.4.4 异常处理 / 151
4.4.5 构造函数的使用 / 153
4.4.6 正则表达式的使用 / 154
4.5 延伸思考 / 156
4.5.1 实现对各网站的限速 / 156
4.5.2 从单机扩展到分布式 / 157
第5 章
项目文档
5.1 正确认识项目文档 / 161
5.1.1 项目文档的重要作用 / 161
5.1.2 项目文档的常见误区 / 162
5.1.3 项目文档的常见问题 / 164
5.1.4 什么时候需要写项目文档 / 165
5.1.5 项目文档是写给谁的 / 167
5.1.6 项目文档的基本规范 / 169
5.2 项目文档的编写 / 170
5.2.1 编写顺序 / 170
5.2.2 文档标题 / 171
5.2.3 段落编写 / 173
5.2.4 问题划分 / 176
5.2.5 表述模式 / 177
5.3 项目文档中的图片 / 179
5.4 文档的评审 / 185
5.4.1 文档评审常见问题 / 185
5.4.2 文档评审的方法 / 186
5.5 文档的存放 / 187
5.5.1 文档存放常见错误 / 187
5.5.2 文档存放的建议 / 188
5.5.3 文档索引的例子 / 189
5.5.4 存放工具的选择 / 192
5.6 文档编写工具 / 194
5.7 如何提高文档编写能力 / 195
第6 章
做研究
6.1 什么是研究 / 199
6.2 如何做好研究 / 201
6.2.1 发现问题 / 201
6.2.2 分析问题 / 203
6.2.3 解决问题 / 205
6.3 做好研究的必备素质 / 206
6.3.1 关于做人 / 206
6.3.2 关于做事 / 208
6.3.3 关于做学问 / 209
第7 章
项目管理
7.1 重视项目管理 / 213
7.2 相关基本概念 / 215
7.3 项目管理的过程和步骤 / 218
7.3.1 项目启动和规划 / 219
7.3.2 项目执行和监控 / 224
7.3.3 项目总结与回顾 / 227
第8 章
项目沟通
8.1 项目沟通的重要性 / 233
8.2 项目沟通方式及对比 / 235
8.3 面对面沟通 / 238
8.4 电话沟通 / 239
8.5 会议沟通 / 240
8.6 IM 工具沟通 / 245
8.7 Email 沟通 / 247
附录A
延伸阅读图书推荐
软件工程和编程思想类 / 251
项目管理类 / 252
项目文档编写和阅读类 / 252
产品设计类 / 253
内容摘要
本书是作者围绕软件工程能力所做的系列培训的内容汇编。这些内容来源于作者20多年以来对软件工程的学习体会和项目实践,以及对中国工业界软件工程师的观察和教育实践。全书共8章,第1章说明了什么是软件工程能力,阐述了软件工程能力中的素质要求。第2~8章分别从代码、文档、项目管理这三个方面讲解了提升软件工程能力素质的实践方法。
主编推荐
"百度学院精品课“代码的艺术”核心内容首次成书,百度技术培训中心官方指定用书。
成为优秀软件工程师三条路径:
学习-思考-实践;
知识-方法-精神;
基础乃治学之根本。
具备正确的意识比掌握具体的知识更重要。
读者对象:软件工程师和管理者;计算机和软件方向的在校学生。
随书附赠配套视频,作者在线一对一答疑等增值服务。"
媒体评论
"在这个技术创新的时代,以物联网、云计算、大数据为代表的技术元素影响着我们的商业活动与生活,所有人开始关注技术力量,并希望通过技术驱动业务乃至改变世界,从国家政策的“互联网+”到各领域数字化转型,这一切离不开技术赋能,开发者(工程师)迎来高光时刻!
如何更好地承接和实现开发目标,这给开发者提出了更高要求。从代码构建、软件工程到项目管控和沟通等,提升开发者的综合应战能力成为组织的必修课,百度技术培训中心金牌课程“代码的艺术”正是这样一门课程,章淼老师历经十余个班的授课,最终归纳总结成《代码的艺术》一书,期待给开发者们带来良策、指引,并实现目标。
—— 刘付强
msup创始人兼CEO
中国整个社会以及互联网行业都转向高质量发展阶段,原来靠各种红利就能有不错结果的日子已经一去不复返。无论对企业、团队,还是个人而言,认真探索并遵循客观规律,苦练基本功和专业所需核心能力(对程序员而言就是本书的主题——工程能力),已越来越重要。本书公开了国内一线大厂的实践总结,是难能可贵的学习资料,出版恰逢其时。
—— 刘 江
北京智源人工智能研究院副院长,前CSDN和《程序员》杂志总编
多年前在百度和章博士一起共事,我们共同推动了百度代码规范和Good Coder体系的建立。看到章博士持之以恒,致力于工程能力和意识的培训与倡导,并将我们的工作发扬光大,由衷钦佩。参与创业多年,我愈发感到工程能力是最容易被忽视但又是非常重要的成功因素。高质量的软件,来自很好的工程师和团队,而不是靠“堆人头”实现的。
这本书名为《代码的艺术》,但它并不仅仅讲编码,更像是一本软件工程师的自我修炼手册。章博士是知名开源软件BFE的作者,又是工程能力的布道者,始终坚持在“学习—思考—实践”中提升。这本书是集章博士多年经验之大成,既有来自一线、非常落地的很好实践,又有实践背后的深入思考。相信对追求很好的工程师和希望打造高效研发团队的管理者都有非常好的指导和启发意义,强烈推荐!
—— 蒋锦鹏
医渡云首席架构师,百度代码规范委员会首任主席
0和1是软件工程师的指尖艺术,每一位工程师都需要将专业方法和体系化思考作为工作上的指导,以此全面提升软件工程能力。《代码的艺术》一书的作者基于大量实践总结出实践方法论,从意识形态层面传递多维度的软件工程能力,让读者更体系化、有针对性地建立自身的能力图谱。
—— 单致豪
腾讯开源联盟主席
在我们接触的众多软件开发人员中,我们发现软件工程能力是关乎一个人能走多远、能发挥多大作用的最重要的能力之一。而在高校软件开发类人才培养体系中,关于软件工程能力方面的培养是非常欠缺的。本书基于作者在大厂的长期从业经历,以及在与公司技术开发人员的研讨和培训过程中积累的大量实践,因此对于培养开发者的软件工程意识具有极强的引导作用。本书语言平实,实用性强,是软件工程方面非常好的参考书目。
—— 王 浩
开课吧联席总裁
很荣幸听过章淼老师的一次现场演讲,当时就被他对软件工程的深刻理解所震撼。当拿到《代码的艺术》这本书并快速翻阅后,我就知道这本书已经脱离过往很多图书专注于一招一式的层面上。和章淼老师一样,我一直认为语言只是工具,关于代码的组织、审阅和文档编写,甚至当启动一个新项目时的调研工作和项目进度管理,以及横向沟通能力都是一个项目成功的关键。这方方面面,我们总结为工程的方法论,或者叫“代码的艺术”。我之前看过《架构整洁之道》和《实现领域驱动设计》,相信这本书也可以给你带来一样的感受,再次强烈推荐!
—— 毛 剑
bilibili基础架构部负责人
记得在一次 Gopher China 晚宴上,章博士给我们分享了软件工程师能力知识图谱。那一次让我对软件工程师有了全新认识,软件工程师应该具备编码、文档和管理三种层次的能力,而现在大多数软件工程师都将精力放在编码上。章博士这本书全方位、深层次地给大家分享了软件工程师应该具备的能力。强烈推荐有志于提升自我能力的工程师都深读一下。
—— 谢孟军
Gopher China社区创始人,积梦智能CEO"
— 没有更多了 —
以下为对购买帮助不大的评价