在本文中,我将讨论可以通过编程方式生成源代码的软件开发的不同阶段,并将比较不同的方法。 我还将描述在特定阶段生成代码的特定工具的体系结构和想法(尤里卡时刻的种类)。
手动地
这是标题中设置的问题的答案。 如果有可能,您必须手动生成代码。 一年前,我已经写了一篇有关代码生成的文章 ,但我没有改变主意。
除非确实需要,否则不应生成代码。
奇怪的说法,尤其是当我推广完全针对Java代码生成的FOSS工具时。 我知道并且仍然声明,您必须手动编写所有代码。 不幸的是,或者出于我的小工具的考虑,在很多情况下无法选择手动代码生成,或者至少自动代码生成似乎是一个更好的选择。
为什么要手动生成
我已经在引用的文章中讨论了它,但是在这里我们再次进行讨论。 如果最好的选择是生成源代码,那么系统中就会出现错误或至少不是最优的。
创建代码的开发人员低于标准水平,
编程语言是低于标准的语言,或者
在环境方面,一些框架是低于标准的。
不要感到冒犯。 当我谈论“低于标准的开发人员”时,我并不是说你。 最后,您远远高于普通开发人员,但并非最不重要,因为您开放并且对新事物感兴趣,这是您正在阅读本文所证明的事实。 但是,在编写代码时,还应该考虑普通的开发人员Joe或Jane,他们将来会维护您的程序。 而且,普通开发人员有一个非常特殊的功能:他们不好。 它们也不错,但是,顾名思义,它们是平均水平。
标配开发商的传奇
您可能会发生几年前发生在我身上的事情。 它像下面这样。
解决了一个问题,我创建了一个微型框架。 并不是像Spring或Hibernate这样的框架,因为单个开发人员无法开发类似的框架。 (尽管其中有些人甚至在专业环境中尝试也没有停止,这是矛盾的,因为它不是专业的。)您需要一个团队。 我创建的是一个单一的类,该类正在做一些反射“魔术”,将对象转换为地图并返回。 在此之前,所有需要此功能的类中都必须有toMap()和fromMap()方法。 它们是手动创建和维护的。
幸运的是我并不孤单。 我有一个团队。 他们告诉我