【问题标题】:What are some popular code generation engines?有哪些流行的代码生成引擎?
【发布时间】:2009-06-16 00:13:44
【问题描述】:

我一直在使用一些 Sonic、NHibernate 和 NetTiers。还有什么,它们如何比较?

【问题讨论】:

  • 这取决于你如何定义代码生成引擎;现在很多东西都会生成代码。您是否有任何工具可以为特定任务生成代码?

标签: code-generation


【解决方案1】:

好吧,也许它不是很酷,但自从我学习 C 以来,我一直在使用 fprintf 生成代码。

【讨论】:

  • 我以前用过那种生成方式;使用 Ruby,内置的 eRB 引擎非常适合代码生成。
  • 嘿,有人,谢谢你的反对 :-) 没有什么比每个人都同意的东西更无聊了。
【解决方案2】:

在 unix 方面,autogen 相当不错:http://www.gnu.org/software/autogen/

我经常用它在 C 中做穷人的模板(模板超过 float/double/long double),但它也可以做一些非常高级的事情。

【讨论】:

    【解决方案3】:

    CodeSmith相当不错。

    【讨论】:

    • 我没有否定它,但如果他已经在使用 NetTiers,那么他可能正在使用 CodeSmith...虽然公平地说,NetTiers != CodeSmith 所以它仍然应该是一个有效的答案...
    【解决方案4】:

    我现在已经完成了几个项目,我们使用了T4,它运行良好并且内置在 Visual Studio 中。

    【讨论】:

      【解决方案5】:

      GWT compiler 是一个跨平台、优化的 Java 到 JavaScript 代码生成器。

      【讨论】:

        【解决方案6】:

        这个(合理的)最终列表怎么样:http://www.codegeneration.net/generators.php

        至于比较,最终只有您可以决定是否要(或需要)适应他们产生的代码,或者您想投入多少时间来调整自己的风格以与他们产生的内容保持一致。例如,这里的一些开发人员使用了 LLBLGen 一段时间,但我们后来放弃了它的使用,因为它的输出与我们自己的编码标准不太一致。这不是糟糕代码,只是不同而已。

        【讨论】:

        • 似乎是放弃 LLBLGen 的一个稍微激进的理由。 a) 无论如何,您几乎不需要查看生成的代码 b) 为什么不直接修改模板以使其与您所追求的相匹配?
        【解决方案7】:

        我听说过很多关于MyGeneration 的消息。我也为 CastleProject 使用了 ActiveWriter,但它有点具体,与 subSonic 不同,它更像是一种形式。 (Activerecord 使用 NHibernate,但这是一个生成类的工具。 至于生成类,Visual Studio 中有一个内置的类图系统可以帮助您入门。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-22
          • 2011-01-04
          • 2017-07-27
          • 2010-09-23
          • 1970-01-01
          • 2021-10-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多