为什么我们仍然需要生成代码?

时间:2010-02-14 14:05:27

标签: code-generation

我见过很多生成存根应用程序的框架,例如Ruby on Rails,其中大部分代码用于业务领域逻辑,但为什么我们仍然生成代码。图书馆不是更好吗?

3 个答案:

答案 0 :(得分:7)

有合理的和不合理的代码生成案例。但是,正确的代码生成可以带来以下好处:

  1. 最佳运行时代码 - 库在运行时处理内容,而您可以通过在生成期间分析代码结构来消除大量运行时机制。
  2. 消除了引入重复工作的错误。
  3. 更好地理解您的代码,生成通常会导致更高级别的“模型”;其中模型用于表示需要生成的内容。
  4. 减少LOC - 数千行可以产生数百万行输出代码。

答案 1 :(得分:3)

库将包含可在许多应用程序中使用的常用函数或类。这些框架确实包含代码库。

生成的代码会处理您自己需要编写的脚手架,无论如何。由于它的大部分都非常标准,因此可以生成它,并且您可以修改您想要的部分。

答案 2 :(得分:1)

使用像LINQ这样的技术,我(几乎)不需要像NHibernate和类似解决方案那样的框架。当性能是一个真正的问题时,生成的存根应用程序可能比依赖于反射等技术的技术更快。

生成代码的另一个好处是它被编译,因此不太可能在运行时导致错误。