目录(3)
9.4.6 方法注释246
9.4.7 枚举注释247
9.4.8 带有文档的示例头文件247
第10章 测试250
10.1 编写测试的理由250
10.2 API测试的类型252
10.2.1 单元测试253
10.2.2 集成测试255
10.2.3 性能测试257
10.3 编写良好的测试259
10.3.1 良好测试的特征259
10.3.2 测试对象260
10.3.3 关注测试工作量261
10.3.4 与QA一起工作261
10.4 编写可测试的代码262
10.4.1 测试驱动开发262
10.4.2 桩对象和模拟对象264
10.4.3 测试私有代码267
10.4.4 使用断言269
10.4.5 契约编程(www.cppentry.com)270
10.4.6 记录并重放功能272
10.4.7 支持国际化273
10.5 自动化测试工具273
10.5.1 自动化测试框架274
10.5.2 代码覆盖率277
10.5.3 缺陷跟踪系统279
10.5.4 持续构建系统280
第11章 脚本化282
11.1 添加脚本绑定282
11.1.1 扩充或嵌入282
11.1.2 脚本化的优点283
11.1.3 语言兼容性问题284
11.1.4 跨越语言障碍285
11.2 脚本绑定技术286
11.2.1 Boost Python286
11.2.2 SWIG286
11.2.3 Python-SIP287
11.2.4 COM自动化287
11.2.5 CORBA288
11.3 使用Boost Python添加Python绑定289
11.3.1 构建Boost Python290
11.3.2 使用Boost Python包装C++(www.cppentry.com) API290
11.3.3 构造函数292
11.3.4 扩充Python API293
11.3.5 C++(www.cppentry.com)中的继承295
11.3.6 跨语言多态296
11.3.7 支持迭代器298
11.3.8 综合应用298
11.4 使用SWIG添加Ruby绑定300
11.4.1 使用SWIG包装C++(www.cppentry.com) API301
11.4.2 调整Ruby API303
11.4.3 构造函数304
11.4.4 扩充Ruby API304
11.4.5 C++(www.cppentry.com)中的继承305
11.4.6 跨语言多态307
11.4.7 综合应用307
第12章 可扩展性310
12.1 通过插件扩展310
12.1.1 插件模型概览311
12.1.2 插件系统设计问题313
12.1.3 以C++(www.cppentry.com)实现插件314
12.1.4 插件API315
12.1.5 插件示例317
12.1.6 插件管理器318
12.1.7 插件版本控制321
12.2 通过继承扩展322
12.2.1 添加功能322
12.2.2 修改功能323
12.2.3 继承与STL324
12.2.4 继承与枚举325
12.2.5 访问者模式326
12.2.6 禁止子类化331
12.3 通过模板扩展332
12.3.1 基于策略的模板332
12.3.2 奇特的递归模板模式334
附录A 库336
参考文献351
索引355