代码阅读有自身的一套技能,重要的是能够确定什么时候使用哪项技术。本书中,作者使用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 阅读代码的格言
《梁思成中国建筑史》内容简介:★首部中国人自己书写的本民族建筑史 ★中国现代建筑学的奠基之作 ★国徽设计者、中国现代建筑之父
Designersanddevelopers,createsmashingappsforAndroiddevicesIfyouredevelopingappli...
《三国不演义》内容简介:◆一部史实版《三国演义》!畅销书《大唐兴亡三百年》(原血腥的盛唐)作者王觉仁全新力作! ◆刘关张从未
《金克木散文》内容简介:本书大致分四个部分:写自己、忆师友、论读书、谈文化。写自己,往往谦虚自抑,从中可读出一个善思敏行的
《计算机科学组合学丛书·计算机密码学:计算机网络中的数据保密与安全(第3版)》是第2版的基础上,结合这几年的密码学技术的发展改
《漫长的寒冬:失落之城》内容简介:永生不再是神话,而是选择 ●《亚特兰蒂斯》作者A.G.利德尔 ●颠覆想象的史诗级科幻巨著完结篇
《黔中王学研究:以孙应鳌、李渭为中心》内容简介:本书研究了黔中王学的形成,说明了王阳明龙场悟道和贵州传道是其形成的契机,主
人类历史上每隔一段时间就会出现新的“革命”,每次“革命”都伴随着创造巨富的机会。经济的最终目的是不断地追求公平和效率,而
本书主要介绍了基于CPLD/FPGA的数字通信系统的设计原理与建模方法。从通信系统的组成、EDA概述及建模的概念开始(第1~2章),围
《HTML 5开发精要与实例详解》内容简介:这是一本以综合性案例为导向并辅之以精要知识点讲解的HTML 5实战教程。内容分为两大部分:
字体设计是最直接、最迅速的信息呈现形式之一。本书汇集大量国内外优秀字体设计作品,以“理论文字+作品分析+作品欣赏+问题分析”
《化学会呼吸》内容简介:本书基于全国重点中学资深化学老师多年累积的经验和研究成果,以活泼又不失严谨的写作风格,用身边可触摸
《生活英语口语100主题》内容简介:互联网+时代,你最需要的英语学习书!新东方、英孚等资深外教诚恳推荐,生活英语完全收录,让你
《Java就业培训教程》全书共分11章。第1章详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅以及Java程序的
《国企改革:深圳实践与未来方向》内容简介:改革开放四十年来,国企改革作为经济体制改革的中心环节,在理论上已经达成许多共识,
《断瘾》内容简介:本书作者银子是一名资深的心理医生,她长期从事青少年网瘾及教育方面的咨询和治疗,具有丰富的临床经验。在书中
本书是《俄罗斯航空发动机制造史》丛书的上册,主要讲述第24号工厂的早期发展阶段(1912—1945年)。第一次世界大战后,在这个坚
《U形曲线:高质量发展的底层逻辑》内容简介:本书提出了何为最优产品、最优服务、最优企业的问题,运用大量的案例系统介绍如何提高
数据结构-C++版-(第四版)-(英文影印版) 本书特色 《数据结构:C++版(第4版)(影印版)》以C++语言作为实现语言,利用面向对象的方法,从规格说明出发...
《最美的季节去最美的地方》内容简介:时光匆匆,四季轮回,大自然总会带给我们不一样的惊喜。我国地大物博,旅游资源丰富,在不同