代码之家  ›  专栏  ›  技术社区  ›  Ed Mazur

修改生成的代码

  •  3
  • Ed Mazur  · 技术社区  · 14 年前

    SWIG 在某些情况下,我想修改生成的代码(既生成了C++和PHP):

    • 修复代码生成错误
    • 添加文档标签(例如phpDoc)

    patch

    3 回复  |  直到 14 年前
        1
  •  1
  •   Ian    14 年前

    最好的办法是让代码生成器根据您的需要生成正确的代码。手工调整产生的产出是不可持续的。你将不得不调整它再次任何时候的输入变化。

    如果一个工具产生了错误的输出,最好修复它并将补丁提交给维护人员。如果输出在某些情况下是正确的,但在您的情况下是错误的,我建议添加一个选项,将行为更改为您所需要的。

    或者,您可以编写自己的代码生成器,但我怀疑这比您想要的要多得多。这也取决于你在做什么。有时代码生成实际上只是宏扩展,在野外有很多很好的工具。

    祝你好运!

        2
  •  1
  •   Rui Curado    14 年前

    以后你可能会做一个维护噩梦。您可以考虑使用另一种生成方法,而不是SWIG:

    • 允许您直接在模型上添加自定义代码(这样您就不需要在生成后添加它)

    使用第三方生成器的问题是,它们从来不会真正生成您想要的内容。编写自己的代码生成器的问题在于,它需要更多的工作。你自己选择。

    但是用另一个自动化来修正一个自动化。。。

        3
  •  1
  •   Gabriel Ščerbák    14 年前

    代码生成是一个非常广泛的主题,而且肯定有许多其他方法,正如上面提到的,这些方法可能对您来说更具挑战性。 但是如果您不想使用其他工具,根据生成的代码和PHP OO功能,您可以使用 Generation Gap pattern