可能有不同种类的代码生成.例如,在RoR中,Rails可以为模型,控制器等创建骨架.但是开发人员必须完成这些骨架.
现在有时候有些项目会根据一组定义或模型生成许多核心工件.
我主要想知道后一种代码生成的优点和缺点.
它的主要优点是它可以为您完成工作,可重复,并且代码最有可能工作(当然,这取决于编写生成器的人是否知道他们在做什么).它可以消除执行编码任务所需的大量时间.例如,是否真的值得花时间编写对象,这些对象只不过是数据库中数据的容器,或者让某些程序自动为您创建这些对象更好?
最大的缺点是它会强制您编写与生成的代码兼容的代码.大多数时候这不是问题,但当有人来找你并说"嘿,我们可以做X吗?"时,这可能是一个真正的麻烦.并且与生成的代码冲突.如果生成器是好的,它将允许您更改功能,但这几乎总是增加了生成的代码的复杂性等.这种复杂性有代价.它更难以理解,而且您自己编写的代码效率会降低.这当然因情况而异.