代码的艺术:用工程思维驱动软件开发

代码的艺术:用工程思维驱动软件开发

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书是作者围绕软件工程能力所做的系列培训的内容汇编。这些内容来源于作者20多年以来对软件工程的学习体会和项目实践,以及对中国工业界软件工程师的观察和教育实践。

内容简介

全书共8章,第1章说明了什么是软件工程能力,阐述了软件工程能力中的素质要求。第2-8章分别从代码、文档、项目管理这三个方面讲解了提升软件工程能力素质的实践方法。

对于代码,第2章"代码的艺术”对其进行了总体说明,第3章重点说明了代码评审,第4章以Mini-spider为例说明了方法如何运用。对于文档,第5章说明了如何写好项目文档,第6章说明了做研究的基本方法。对于项目管理,第7章简要说明了如何做好项目管理,第8章重点说明了如何做好项目沟通。

作者简介

章淼,博士,百度智能云资深研发工程师,BFE开源项目发起人。

1997年至2006年在清华大学从事互联网协议和网络体系结构的研究。

2012年加入百度,一直从事网络基础架构的研发工作。同时积极推动百度的代码质量和工程能力的提升,百度技术培训中心“金牌讲师”,曾任百度代码规范委员会主席。

章节目录

版权信息

内容简介

推荐序一

推荐序二

推荐序三

推荐序四

推荐序五

推荐序六

推荐序七

推荐语

前言

作者介绍

第1章 软件工程能力

1.1 为什么要重视工程能力

1.2 什么是工程能力

1.2.1 工程能力的误区

1.2.2 工程能力的定义

1.3 怎样提升工程能力

第2章 代码的艺术

2.1 背景和初衷

2.2 代码和艺术

2.2.1 代码也能成为艺术作品

2.2.2 软件工程师和“码农”

2.2.3 来自艺术的启发

2.2.4 写代码并非易事

2.3 好代码和坏代码

2.3.1 好代码的特性

2.3.2 坏代码的例子

2.4 好代码从哪里来

2.4.1 好代码不止于编码

2.4.2 需求分析和系统设计

2.5 如何做好需求分析

2.5.1 如何描述需求

2.5.2 对需求分析的误解

2.5.3 需求分析的重要性

2.6 如何做好系统设计

2.6.1 什么是系统设计

2.6.2 设计文档的分类

2.6.3 什么是系统架构

2.6.4 系统设计的原则和方法

2.6.5 重视对外接口

2.7 如何写出好代码

2.7.1 代码的沟通价值

2.7.2 模块的设计方法

2.7.3 划分模块的方法

2.7.4 函数的设计方法

2.7.5 代码块的编写注意事项

2.7.6 软件开发中的命名

2.8 如何支持系统运营

2.8.1 可监测性的重要性

2.8.2 以BFE开源项目为例

2.9 成为优秀软件工程师的三条路径

2.9.1 路径一:学习—思考—实践

2.9.2 路径二:知识—方法—精神

2.9.3 路径三:基础乃治学之根本

第3章 代码评审

3.1 代码评审的常见误区

3.2 为什么要做好代码评审

3.2.1 代码评审的重要意义

3.2.2 没有做好代码评审的后果

3.2.3 为什么要提升代码质量

3.2.4 为什么要提升编码能力

3.3 如何做好代码评审

3.3.1 代码评审的常见问题

3.3.2 代码评审的正确态度

3.3.3 代码评审的推荐步骤

3.3.4 对坏代码的简单判断

3.3.5 代码评审的注意事项

3.4 如何成为好的代码评审人

第4章 “代码的艺术”应用

4.1 需求的分析

4.1.1 题目说明

4.1.2 功能分析

4.2 软件的架构

4.2.1 模块切分

4.2.2 系统架构

4.2.3 软件组装

4.2.4 crawler间的数据共用

4.2.5 数据封装

4.2.6 crawler的执行逻辑

4.3 多线程机制

4.3.1 数据互斥访问

4.3.2 临界区注意事项

4.3.3 任务的分发

4.3.4 程序的优雅退出

4.4 其他实现细节

4.4.1 配置的读取

4.4.2 种子信息的读取

4.4.3 import的使用

4.4.4 异常处理

4.4.5 构造函数的使用

4.4.6 正则表达式的使用

4.5 延伸思考

4.5.1 实现对各网站的限速

4.5.2 从单机扩展到分布式

第5章 项目文档

5.1 正确认识项目文档

5.1.1 项目文档的重要作用

5.1.2 项目文档的常见误区

5.1.3 项目文档的常见问题

5.1.4 什么时候需要写项目文档

5.1.5 项目文档是写给谁的

5.1.6 项目文档的基本规范

5.2 项目文档的编写

5.2.1 编写顺序

5.2.2 标题拟定

5.2.3 段落编写

5.2.4 问题划分

5.2.5 表述模式

5.3 项目文档中的图片

5.4 项目文档评审

5.4.1 评审常见问题

5.4.2 评审方法

5.5 项目文档存放

5.5.1 常见错误

5.5.2 存放建议

5.5.3 项目文档索引举例

5.5.4 存放工具的选择

5.6 项目文档编写工具

5.7 如何提高项目文档编写能力

第6章 做研究

6.1 什么是研究

6.2 如何做好研究

6.2.1 发现问题

6.2.2 分析问题

6.2.3 解决问题

6.3 做好研究的必备素质

6.3.1 关于做人

6.3.2 关于做事

6.3.3 关于做学问

第7章 项目管理

7.1 重视项目管理

7.2 相关基本概念

7.3 项目管理的过程和步骤

7.3.1 项目规划和启动

7.3.2 项目执行和监控

7.3.3 项目总结与回顾

第8章 项目沟通

8.1 项目沟通的重要性

8.2 项目沟通方式及对比

8.3 面对面沟通

8.4 电话沟通

8.5 会议沟通

8.6 IM工具沟通

8.7 Email沟通

附录A 延伸阅读图书推荐

软件工程和编程思想类

项目管理类

项目文档编写和阅读类

产品设计类

致谢

代码的艺术:用工程思维驱动软件开发是2022年由电子工业出版社出版,作者章淼。

得书感谢您对《代码的艺术:用工程思维驱动软件开发》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
代码整洁之道 电子书
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin) 尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。 著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。 阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正确的代码,何谓错误的代码。更重要的是,本书将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。 书中的具体内容包括: ·好代码和糟糕的代码之间的区别; ·如何编写好代码,如何将糟糕的代码转化为好代码; ·如何创建好名称、好函数、好对象和好类; ·如何格式化代码以实现其可读性的大化; ·如何在不妨碍代码逻辑的前提下充分实现错误处理; ·如何进行单元测试和测试驱动开发。
好代码,坏代码 电子书
本书分享的实用技巧可以帮助你编写可靠且易于团队成员理解和适应不断变化需求的代码。
你真的会写代码吗 电子书
1个示例,7次重构,助你辨别优劣代码。
代码整洁之道:程序员的职业素养 电子书
编程大师40余年心得体会,阐释软件工艺中的原理、技术、工具和实践,助力专业软件开发人员具备令人敬佩的职业素养。
Java代码审计(入门篇) 电子书
Java代码审计初学者指南,系统介绍Java代码安全审计入门技术。