代码阅读有自身的一套技能,重要的是能够确定什么时候使用哪项技术。本书中,作者使用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 阅读代码的格言
《中国圣书:悦读《论语》》内容简介:《论语》是一部记录孔子及其弟子言行的语录体著作,是儒家学派最重要的经典,大约成书于战国
《承包地“三权分置”的法律表达与实效考察》内容简介:2018年中央一号文件着重提出深化农村土地制度改革,其中包括进一步完善农村
中文版InDesign CS5技术大全-(附光盘) 本书特色 超厚手册,超大容量,技术全面,39章教学内容,软件功能全覆盖,基础详解、功能全面、理论实践全接触,...
WrittenbynotedquantumcomputingtheoristScottAaronson,thisbooktakesreadersonatourt...
《Word/Excel/PPT 2013办公应用从入门到精通》内容简介:本书是指导初学者学习 Word/Excel/PPT 2013 的入门书籍。书中详细地介绍...
《婚恋清醒指南》内容简介:◆给所有女生的婚恋清醒指南,手把手教你看清亲密关系的底层逻辑,别在该动脑子的时候动感情。拒绝“恋
《二战尖端武器鉴赏指南(珍藏版)》内容简介:本书筛选了大量自一战结束至二战结束的划时代高尖端武器,以及当时各国主力、或者具
《精通CSS网布布局》深入、系统地讲解了使用css进行网页布局设计的相关知识和技巧,内容包括css基础、文字和版式设计、图像控制、
《区块链与智慧物流》内容简介:本书以区块链技术与智慧物流的融合应用为核心,通过剖析智慧物流的发展演进及区块链影响物流系统与
《idea+10(1):举一反百的聪明设计法则》内容简介:很多设计师的头脑里不乏绝妙的设计点子,但是重复的主题一再出现,创意总难免枯
《Python程序设计案例课堂》内容简介:本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础知识→核心技术→高级应用→项
《《红楼梦》真相(上、下)》内容简介:“满纸荒唐言,一把辛酸泪。都云作者痴,谁解其中味?”这是《红楼梦》的第一首标题诗。曹
《AndroidWeb应用高级编程:移动与嵌入式开发技术》内容简介:熟悉Webapp开发的开发人员可以掌握如何为Android移动平台开发Webapp
鲁奇克、凯兹所著,蒋晓等翻译的《NONOBJECT设计(精)》提出了一种全新的Nonobject设计方法。与符和用户普遍需求和感受的“以人为
《手绘设计草图表现技法》内容简介:本书阐述了手绘图透视表现的基本原理、制图方法和物体的质感表现等,介绍了多种手绘图表现的画
UMTS(通用移动通信系统)是ITU的IMT-2000第三代移动通信系统(3G)的重要组成部分,它能为用户带来高达2Mb/s(理论值)的数据传输速率
《掘金:互联网+时代创业黄金指南》内容简介:“互联网+”这个词随着政府工作报告变得炙手可热,这个词既是对过去已经发生的总结,
《中国经济:警惕黑天鹅》内容简介:历史就是一系列的黑天鹅事件推动的。它的意外性、不可预见性,使得它的冲击力、影响力格外大。
《私人财富保护、传承与工具》内容简介:企业、家族、婚姻等多方面的真实案例,多种财富管理工具,深入介绍财富规划方案及风险。这
WhenitcomestoWebdesign,styleguidesareoftentooboringandpredictabletocapturetheatt...