代码生成技术是关于自动生成程序的程序的技术。与手工书写代码相比,代码生成器提供了下面的一些好处:
(1)所有软件实体的一致的代码质量,代码的质量依赖且只依赖于代码生成的模板、文件和模型。与此相比,手工经常采用的拷贝粘贴的方法为前后代码质量的一致性带来了隐患。
(2)提高了代码变更的能力,特别在需要大量更改代码的情况下,只需要更改模板并重新运行代码生成器即可。
(3)提高了修复软件Bug的能力,只需要修复模板的Bug然后重新运行生成器就可以修复所有的生成文件的Bug。
(4)提高了在不同框架之间的迁移能力,一个典型的情形是我们需要生成不同框架(如J2EE/.Net)的应用代码,代码生成技术将业务逻辑以语言无关的形式单独存放,通过为不同的框架提供代码模板可以基于同一逻辑生成不同框架的应用代码。
(5)灵活的同步机制,代码生成技术自动维护代码和数据模型的一致性,通过重新运行生成器,对模型的修改可以自动反映到代码中,这种同步机制对维护数据的一致性是非常必要的。
(6)大幅度提高了工作效率,运用代码生成技术可以将更多的时间花费在业务相关的设计和实现上,从而可以大大提高软件的开发效率和软件质量。
(7)是代码学习的导师,由于生成的代码具有良好的风格和100%的健壮性,程序开发者很容易模仿代码风格,从中学习。
当然,任何一种技术都有其缺点,代码生成器也不例外:
(1)代码生成器必须首先写好。
(2)只能适应指定的环境。
(3)不能100%生成想要得代码,还有一些代码需要手动修改。
(4)对于数据库代码,数据库必须涉及正确规范。生成器通常不能很好的应付有奇特设计特征的数据。
1