《程序设计实践》目录

前言

1章风格

1.1 名字
1.2 表达式和语句
1.3 一致性和习惯用法
1.4 函数宏
1.5 神秘的数
1.6 注释
1.7 为何对此费心?
2 算法和数据结构 2.1 检索
2.2 排序
2.3
2.4 一个Java快速排序
2.5 O记法
2.6 可增长数组
2.7
2.8
2.9 散列表
2.10 总结
3 设计和实现 3.1 马尔可夫链算法
3.2 数据结构的选择
3.3 C中构造数据结构
3.4 生成输出
3.5 Java
3.6 C++
3.7 AwkPerl
3.8 性能
3.9 经验教训
4 界面 4.1 逗号分隔的值
4.2 一个原型库
4.3 为别人用的库
4.4 C++实现
4.5 界面原则
4.6 资源管理
4.7 终止、重试、失败? 4.8 用户界面
5 排错 5.1 排错系统
5.2 好线索,简单错误
5.3 无线索,难办的错误
5.4 最后手段
5.5 不可重复错误
5.6 排错工具
5.7 其他人的程序错误
5.8 总结
6 测试 6.1 在编码过程中测试
6.2 系统化测试
6.3 测试自动化
6.4 测试台
6.5 应力测试
6.6 测试秘诀
6.7 谁来测试
6.8 测试马尔可夫程序
6.9 总结
7 性能 7.1 瓶颈
7.2 计时和轮廓
7.3 加速策略
7.4 代码调整
7.5 空间效率
7.6 估计
7.7 总结
8 可移植性 8.1 语言
8.2 头文件和库
8.3 程序组织
8.4 隔离
8.5 数据交换
8.6 字节序
8.7 可移植性和升级
8.8 国际化
8.9 总结
9 记法 9.1 数据格式
9.2 正规表达式
9.3 可编程工具
9.4 解释器,编译器和虚拟机
9.5 写程序的程序
9.6 用宏生成代码
9.7 运行中编译
后记

附录:规则汇编

索引