作为一个开发人员,很多年以来我都梦想有一个可以
写出许多程序的程序,这样在系统开发中过程中可以
节省多少时间呀。
我一向是一个很懒惰的人,编写程序生成器让我感到
许多乐趣,通过他我省去了许多的重复性的劳动,大大
加快了开发进程。程序生成器的效率很高,在开发软件
的许多环节都可以大显生手:数据持久化、界面、中间
件等等。
$:为什么需要程序生成器?
我没有深入的研究过这个问题,所以关于这个问题我无法
讲的很全面。不过从我的经验来讲,归纳起来有以下几点
:
1:抽象层次规范系统。
想象以下通过生成代码,你可以将实现技术,算法,数据
结构等代码细节规范化,并对上层开发人员完全屏蔽。如
果需要修改实现,只需要简单的修改定义的规范即可。
2:工作分工
在叫大规模的软件开发中,开发人员彼此间往往需要共同
维护代码,造成个人独立地从事工作变的不可能。而通过
程序生成器为开发人员提供了一种工作分工的有效解决手
段。
3:可以生成系列产品
你可以通过程序生成器生成一系列的相关产品如:测试用
例、用户文档、图表、其他相关代码等等。
4:程序族
通过成成,你可以针对同一问题,产生不同的实现,而成
为一个程序族,而不只是单一的特定系统。譬如:你可以
使用同一界面规范(xul)生成不同平台(windows,unix)的
实现。
5:正确性和一致性
即便是你一个有多年开发经验的开发人员,你对自己编写
的代码有几分信心?通过生成方式,可以大大减少错误。
软件开发重构是免不了的,但是这往往会引发新的错误,
程序生成器,使的修改也变的方便许多,修改抽象的规范
即可,从而减少修改所引发的错误。
6:优化你性能
可以这么说程序生成器,让你有更多的时间不必浪费在重
复的编码中,从而有时间去关注系统的性能。
$:理解程序的三中可变性。
可变性有三种:1.运行时可变性;编译时可变性;生成时可变性。
运行时可变性
运行时可变性的信息保存在一个外部文