削足适履这个章节在讲什么?我们很多时候在开发程序的时候都是考虑程序的运行时间和效率,而很少考虑到程序的运行空间问题。现在的存储空间是越来越廉价,我们很少去考虑这些问题。经典的DOS版本的仙剑奇侠传还不到20M,而现在的一个大游戏却是2,3G甚至更大。由于计算机的不断更新换代和性能的提升,我们不是特别去强调空间问题,而对于一些操作系统的底层程序我们仍然会强调空间的问题。
在开始讲的时候首先讲了软件产品的规模控制,这个规模则是指的空间存储,软件产品的规模应该从顶向下进行预算,分解到各个子系统和模块。这是一种从系统整体出发的统筹思路,这样分解到每个开发人员后他们都必须要考虑如何达到期望的规模目标,尽量同程序设计,算法等各个方面去优化程序规模。
在规模控制的技能上讲的很清楚,常用的两种方法。一种是通过提供功能点的多少来换取空间,一种是通过牺牲性能和时间来换取空间。而如何做好空间和时间上的折衷?这一方面是要加强培训提高开发人员的编程技能水平(核心的可能是数据结构和算法),一方面是要进行长期的技术积累,提倡复用和开发更多的公共构件。
数据的表现形式是战略的根本,很多时候技艺的改进和战略上的图片都来自于表和数据的重新表达。由于缺乏空间而绞尽脑汁的编程人员,常常能通过从自己的代码中挣脱出来,回顾、分析实际情况,仔细思考程序的数据,最终获得非常好的结果。实际上,数据的表现形式是编程的根本。