代码阅读有自身的一套技能,重要的是能够确定什么时候使用哪项技术。本书中,作者使用600多个现实的例子,向读者展示如何区分好的(和坏的)代码,如何阅读,应该注意什么,以及如何使用这些知识改进自己的代码。养成阅读高品质代码的习惯,可以提高编写代码的能力。
阅读代码是程序员的基本技能,同时也是软件开发、维护、演进、审查和重用过程中不可或缺的组成部分。本书首次将阅读代码作为一项独立课题,系统性地加以论述。本书引用的代码均取材于开放源码项目——所有程序员都应该珍视的宝库。本书围绕代码阅读,详细论述了相关的知识与技能。“他山之石、可以攻玉”,通过仔细阅读并学习本书,可以快速地提高读者代码阅读的技能与技巧,进而从现有的优秀代码、算法、构架、设计中汲取营养,提高自身的开发与设计能力。
本书适用于对程序设计的基本知识有一定了解,并想进一步提高自身开发能力的读者。
第1章 导论
1.1 为什么以及如何阅读代码
1.2 如何阅读本书
进阶读物
第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.2 结构
3.3 共用体
3.4 动态内存分配
3.5 typedef声明
进阶读物
第4章 C数据结构
4.1 向量
4.2 矩阵和表
4.3 栈
4.4 队列
4.5 映射
4.6 集合
4.7 链表
4.8 树
4.9 图
进阶读物
第5章 高级控制流程
5.1 递归
5.2 异常
5.3 并行处理
5.4 信号
5.5 非局部跳转
5.6 宏替换
进阶读物
第6章 应对大型项目
6.1 设计与实现技术
6.2 项目的组织
6.3 编译过程和制作文件
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.2 控制模型
9.3 元素封装
9.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 阅读代码的格言
《智慧工厂技术与应用》内容简介:智慧工厂是现代工厂信息化发展的新阶段,是在数字化工厂的基础上,利用物联网技术和设备监控技术
《简单·丰盛·美好:面饭、蔬食配菜》内容简介:不远之前的博客时代,一个中断博士学业、改行入厨的台湾女生曾以“厨房里的人类学
本书介绍一种把WindowsGUI应用程序移植到Linux的方法——API模拟方法。书中介绍了这种方法的设计思想,以及具体的实现过程。同时
CATIA V5 从入门到精通 本书特色 《CATIA V5从入门到精通》是上海软件行业协会秘书长,长根兴,江苏省软件行业协会副会长徐雷,盛选禹哲。3大综合案例...
内容简介:本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致
《全国会计从业资格考试应试指南·真题·预测三合一:会计基础》内容简介:《全国会计从业资格考试应试指南·真题·预测三合一——
《鲁迅自编文集:汉文学史纲要》内容简介:该书原系鲁迅于1923年厦门大学讲授中国文学史课程时编写的讲义,题为《中国文学史略》;
《2015年考研政治高分练习题库》内容简介:本书由权威专家全新编写—— 全:全面覆盖大纲知识点。专:专门针对单项选择题与多项选择
网络技术-全国计算机等级考试三级教程-(2015年版) 本书特色 本书根据教育部考试中心制订的《全国计算机等级考试三级网络技术考试大纲(2013年版)》编写而成...
《金砖国家金融合作研究》内容简介:进入21世纪,西方国家经济发展持续疲弱,金砖国家逆势而起。金砖国家不仅是五个具有多样性和互
《曾国藩那套本事》内容简介:本书是一部汇集曾国藩做人做事智慧的成功学全书,将其做人做事的思想精华有机结合,揭示了曾国藩成为
《组织管理案例与公案教学(第一季)》内容简介:公案教学团队认为,管理知识和管理工具固然重要,但那应该是管理教育之“术”,而
本书将教会您如何在很短的时间内掌握使用JavaScript代码来向服务器提交异步请求?同时,您可以学习如何使用诸如动态HTML、XML、J
作者简介:井上诚一郎曾在美国参与过LotusNotes的开发,后在日本创立了ArielNetwork股份公司,任CTO。目前从事面向企业的PSP软件
WorldofWarcraftrapidlybecameoneofthemostpopularonlineworldgamesontheplanet,amass...
《历史学家的经线》内容简介:孙隆基先生在本书中用自己独特方式对中国近代政治史和思想史上核心的辛亥革命、五四运动、鲁迅问题、
Thisthree-volumesetLNCS4554-4556constitutestherefereedproceedingsofthe4thInterna...
《禅宗写作传统研究》内容简介:禅宗写作传统是指禅宗文学中具有相对固定的写作形态且世代相传的文学样式。禅宗写作传统种类繁多,
《明哥聊求职》内容简介:李明编著的《明哥聊求职》旨在帮助初入职场的年轻人了解求职的方方面面,从做好面试前的准备工作到如何编
ProductDescriptionCoversofallaspectsofmultiplayergamedevelopmentandvirtualworldd...