
The practice of programming
副标题:无
作 者:(美)[B.W.克尼汉]Brian W.Kernighan,(美)[R.派克]Rob Pike著;裘宗燕译
分类号:
ISBN:9787111075738
微信扫一扫,移动浏览光盘
简介
本书是brian w. kernighan和rob pike合著的最新力作。本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法,它的翻译出版将填补国内目前这方面书籍的空白。本书值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。
brian w.kernighan和rob pike奉献出他们的新作《程序设计实践》。可使程序员工作更有效,产出更丰厚。在这里可以看到和已成为经典之作的《unix编程环境》 (已由机械工业出版社出版)同样的洞察力和权威性。
程序设计实践并不只是写代码。程序员必须评价各种折衷方案,在许多可能性之中做出选择、排除错误、做测试和改进程序性能,还要维护自己或其他人写的软件。在满足规范的同时还必须关注许多问题,包括兼容性、坚固性和可靠性等等。
本书覆盖了上述所有论题,甚至更多。书中充满了具有实际意义的忠告和取自现实世界的c、c++、java以及许多其他语言的例子。书中主要章节包括:
·排除错误:快速而有条不紊地找出程序错误;
·测试:保证软件能够正确而可靠地工作;
·性能:使程序更快速、更紧凑;
·可移植性:设法使程序能在任何地方运行而无需修改;
·设计:在目标与约束条件之间寻找某种平衡,确定最好的算法和数据结构;
·界面:利用抽象和信息隐蔽,控制程序部件之间的交互作用;
·风格:写出工作得很好的代码,并使它们读起来很舒服;
·记法:选择语言和工具,使机器能为我们做更多的事情。
目录
目 录
译者序
前言
第1章 风格 1
1.1 名字 2
1.2 表达式和语句 4
1.3 一致性和习惯用法 8
1.4 函数宏 14
1.5 神秘的数 15
1.6 注释 18
1.7 为何对此费心 22
第2章 算法与数据结构 23
2.1 检索 23
2.2 排序 25
2.3 库 27
2.4 一个java快速排序 29
2.5 大o记法 31
2.6 可增长数组 33
2.7 表 35
2.8 树 39
.2.9 散列表 43
2.10 小结 46
第3章 设计与实现 48
3.1 马尔可夫链算法 48
3.2 数据结构的选择 50
3.3 在c中构造数据结构 51
3.4 生成输出 54
3.5 java 56
3.6 c++ 59
3.7 awk和perl 61
3.8 性能 63
3.9 经验教训 64
第4章 界面 67
4.1 逗号分隔的值 67
4.2 一个原型库 69
4.3 为别人用的库 72
4.4 c++实现 79
4.5 界面原则 82
4.6 资源管理 84
4.7 终止、重试或失败 86
4.8 用户界面 90
第5章 排错 93
5.1 排错系统 94
5.2 好线索,简单错误 95
5.3 无线索,难办的错误 98
5.4 最后的手段 101
5.5 不可重现的错误 103
5.6 排错工具 105
5.7 其他人的程序错误 107
5.8 小结 108
第6章 测试 110
6.1 在编码过程中测试 110
6.2 系统化测试 114
6.3 测试自动化 118
6.4 测试台 120
6.5 应力测试 123
6.6 测试秘诀 125
6.7 谁来测试 126
6.8 测试马尔可夫程序 127
6.9 小结 129
第7章 性能 130
7.1 瓶颈 130
7.2 计时和轮廓 135
7.3 加速策略 138
7.4 代码调整 140
7.5 空间效率 144
7.6 估计 145
7.7 小结 147
第8章 可移植性 149
8.1 语言 149
8.2 头文件和库 154
8.3 程序组织 156
8.4 隔离 159
8.5 数据交换 160
8.6 字节序 161
8.7 可移植性和升级 164
8.8 国际化 165
8.9 小结 167
第9章 记法 169
9.1 数据格式 169
9.2 正则表达式 174
9.3 可编程工具 180
9.4 解释器、编译器和虚拟机 182
9.5 写程序的程序 186
9.6 用宏生成代码 189
9.7 运行中编译 190
后记 195
附录:规则汇编 197
索引 200
译者序
前言
第1章 风格 1
1.1 名字 2
1.2 表达式和语句 4
1.3 一致性和习惯用法 8
1.4 函数宏 14
1.5 神秘的数 15
1.6 注释 18
1.7 为何对此费心 22
第2章 算法与数据结构 23
2.1 检索 23
2.2 排序 25
2.3 库 27
2.4 一个java快速排序 29
2.5 大o记法 31
2.6 可增长数组 33
2.7 表 35
2.8 树 39
.2.9 散列表 43
2.10 小结 46
第3章 设计与实现 48
3.1 马尔可夫链算法 48
3.2 数据结构的选择 50
3.3 在c中构造数据结构 51
3.4 生成输出 54
3.5 java 56
3.6 c++ 59
3.7 awk和perl 61
3.8 性能 63
3.9 经验教训 64
第4章 界面 67
4.1 逗号分隔的值 67
4.2 一个原型库 69
4.3 为别人用的库 72
4.4 c++实现 79
4.5 界面原则 82
4.6 资源管理 84
4.7 终止、重试或失败 86
4.8 用户界面 90
第5章 排错 93
5.1 排错系统 94
5.2 好线索,简单错误 95
5.3 无线索,难办的错误 98
5.4 最后的手段 101
5.5 不可重现的错误 103
5.6 排错工具 105
5.7 其他人的程序错误 107
5.8 小结 108
第6章 测试 110
6.1 在编码过程中测试 110
6.2 系统化测试 114
6.3 测试自动化 118
6.4 测试台 120
6.5 应力测试 123
6.6 测试秘诀 125
6.7 谁来测试 126
6.8 测试马尔可夫程序 127
6.9 小结 129
第7章 性能 130
7.1 瓶颈 130
7.2 计时和轮廓 135
7.3 加速策略 138
7.4 代码调整 140
7.5 空间效率 144
7.6 估计 145
7.7 小结 147
第8章 可移植性 149
8.1 语言 149
8.2 头文件和库 154
8.3 程序组织 156
8.4 隔离 159
8.5 数据交换 160
8.6 字节序 161
8.7 可移植性和升级 164
8.8 国际化 165
8.9 小结 167
第9章 记法 169
9.1 数据格式 169
9.2 正则表达式 174
9.3 可编程工具 180
9.4 解释器、编译器和虚拟机 182
9.5 写程序的程序 186
9.6 用宏生成代码 189
9.7 运行中编译 190
后记 195
附录:规则汇编 197
索引 200
The practice of programming
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
