编辑推荐
如何判断代码质量的好坏?这本书用600个例子告诉你。
内容简介
Jolt大奖素有“软件业之奥斯卡”的美称,本丛书精选自Jolt历届获奖图书,以植根于开发实践中的独到工程思想与杰出方法论为主要甄选方向。作者使用了超过600个现实的例子来向你展现如何甄别代码的好坏;如何阅读,应当注意什么,以及如何使用这些知识来改进自己的代码。
本书在一些现实中的大型实例基础上,论述了代码阅读的策略,并向读者展示了如何将这些代码阅读和代码理解的技艺运用于实践。
作者简介
作者季奥米季斯·斯宾耐立思,世界著名程序员,曾4次在国际c语言编程大赛(IOCCC)中折桂。他是FreeBSD操作系统的核心开发人员之一,开发了大量开源软件,包括所有BSD system上的sed编辑器、大受好评的建模引擎UMLGraph和C语言源码分析与重构工具CScout.在英国理工学院获得了软件工程硕士和计算机科学博士学位之后,他目前任教于希腊雅典经济管理大学,领导着一个欧盟资助的开源软件质量协作研究项目。他是IEEE software杂志的编委和专栏作家,曾获Usenix协会终身成就奖,也是网络百科全书Wikipedia的一位活跃作者。
章节目录
版权信息
出版说明 经久不息的回荡
Preface to the Second Chinese Edition of Code Reading and Code Quality
原作者中文版序
推荐序
译者序
原书序言
前言
第1章 导论
1.1 为何以及如何阅读代码
1.1.1 将代码作为文献
1.1.2 将代码作为范例
1.1.3 维护
1.1.4 演进
1.1.5 重用
1.1.6 检查
1.2 如何阅读本书
1.2.1 排版约定
1.2.2 图表
1.2.3 练习
1.2.4 辅助材料
1.2.5 工具
1.2.6 提纲
1.2.7 关于“伟大语言”的争论
进阶阅读
第2章 基本编程元素
2.1 一个完整的程序
2.2 函数和全局变量
2.3 while循环、条件和块
2.4 switch语句
2.5 for循环
2.6 break和continue语句
2.7 字符和布尔表达式
2.8 goto语句
2.9 局部重构
2.10 do循环和整数表达式
2.11 再论控制结构
进阶阅读
第3章 高级C数据类型
3.1 指针
3.1.1 链式数据结构
3.1.2 数据结构的动态分配
3.1.3 引用调用
3.1.4 数据元素的访问
3.1.5 数组类型的参数和返回结果
3.1.6 函数指针
3.1.7 用做别名的指针
3.1.8 指针和字符串
3.1.9 直接内存访问
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.4 动态内存分配
3.4.1 空闲内存管理
3.4.2 包含动态分配数组的结构体
3.5 typedef声明
进阶阅读
第4章 C数据结构
4.1 向量
4.2 矩阵和表
4.3 栈
4.4 队列
4.5 映射
4.5.1 散列表
4.6 集合
4.7 链表
4.8 树
4.9 图
4.9.1 节点存储
4.9.2 边的表示
4.9.3 边的存储
4.9.4 图的属性
4.9.5 隐含结构
4.9.6 其他表示方法
进阶阅读
第5章 高级控制流程
5.1 递归
5.2 异常机制
5.3 并行性
5.3.1 硬件和软件的并行性
5.3.2 控制模型
5.3.3 线程实现
5.4 信号
5.5 非局部跳转
5.6 宏替换
进阶阅读
第6章 应对大型项目
6.1 设计和实现技术
6.2 项目的组织
6.3 编译过程与makefile文件
6.4 配置
6.5 版本控制
6.6 项目专用工具
6.7 测试
进阶阅读
第7章 编码规范和约定
7.1 文件的名称和组织
7.2 缩进
7.3 格式编排
7.4 命名约定
7.5 编程实践
7.6 过程规范
进阶阅读
第8章 文档
8.1 文档类型
8.2 阅读文档
8.3 文档中存在的问题
8.4 其他文档来源
8.5 常见的开源文档格式
进阶阅读
第9章 架构
9.1 系统结构
9.1.1 集中式存储库和分布式方法
9.1.2 数据流架构
9.1.3 面向对象结构
9.1.4 分层架构
9.1.5 层次
9.1.6 切片
9.2 控制模型
9.2.1 事件驱动系统
9.2.2 系统管理器
9.2.3 状态转移
9.3 元素包装
9.3.1 模块
9.3.2 命名空间
9.3.3 对象
9.3.4 泛型实现
9.3.5 抽象数据类型
9.3.6 库
9.3.7 进程和过滤器
9.3.8 组件
9.3.9 数据存储库
9.4 架构重用
9.4.1 框架
9.4.2 代码向导
9.4.3 设计模式
9.4.4 领域专有的架构
进阶阅读
第10章 代码阅读工具
10.1 正则表达式
10.2 用编辑器浏览代码
10.3 用grep搜索代码
10.4 找出文件的差异
10.5 开发自用工具
10.6 借助编译器阅读代码
10.7 代码浏览器与美化器
10.8 运行时工具
10.9 非软件工具
可用工具与进阶读物
第11章 完整示例
11.1 概况
11.2 攻克计划
11.3 代码重用
11.4 测试与调试
11.5 文档
11.6 观察报告
附录A 代码概要
附录B 源代码贡献者
附录C 代码阅读的箴言
参考文献
代码阅读是2012年由电子工业出版社出版,作者[希] 季奥米季斯·斯宾耐立思。
得书感谢您对《代码阅读》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。