读《编程珠玑》 (三)
第五章 编程中的次要问题
第五章中主要讨论程序中的小问题,首先,将上一章的二分查找实现为一个可靠的c语言函数,之后就可以使用脚手架来对它进行探测已经更加全面的测试,从而获得值得信赖的程序。
int binarysearch(DataType t) { int l,u,m; l=0;u=n-1; while(l<=u){ m=(l+u)/2; if(x[m]<t) l=m+1; if(x[m]==t) return m; if(x[m]>t) u=m-1; } return -1; }
运用该函数的第一步是手工走查少量测试用例。然而当程序更大测试更多时,就需要自动化工作的脚手架来完成了。
在编写正确的程序时有以下的原则:
脚手架。最好的脚手架通常就是那种最容易构建的,对于许多算法任务而言,命令行技术就很好。
编码。对一高难度的函数来说,最简单的方法就是先使用便利的高级伪代码为其描绘股价,然后将之转换成实现语言。
测试。测试最贱时在脚手架中进行测试要比在一个大系统中简单和全面。
调试。程序在脚手架中隔离时调试起来会很困难,并且把她嵌入到真是环境中时调试甚至会更加困难。
第六章 性能透视
简单而且功能强大的程序可以让用户高兴并且也不会让程序构建者烦恼,这是程序的终极目标,也是前面五章的重点,现在我们需要将注意力转向另一特定方面:效率。
在一个特殊的案例中,Appel研究一个多物体相互作用的问题。