作 者:章淼 著
定 价:100
出 版 社:电子工业出版社
出版日期:2022年03月01日
页 数:296
装 帧:精装
ISBN:9787121426711
●第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.4crawler间的数据共用/132
4.2.5数据封装/133
4.2.6crawler的执行逻辑/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.3import的使用/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.6IM工具沟通/245
8.7Email沟通/247
附录A
延伸阅读图书推荐
软件工程和编程思想类/251
项目管理类/252
项目文档编写和阅读类/252
产品设计类/253
本书是作者围绕软件工程能力所做的系列培训的内容汇编。这些内容来源于作者20多年以来对软件工程的学习体会和项目实践,以及对中国工业界软件工程师的观察和教育实践。全书共8章,第1章说明了什么是软件工程能力,阐述了软件工程能力中的素质要求。第2~8章分别从代码、文档、项目管理这三个方面讲解了提升软件工程能力素质的实践方法。