【问题标题】:Delphi code generation德尔福代码生成
【发布时间】:2009-01-15 07:03:49
【问题描述】:

我需要加快编码速度,工作量太大,所以我需要能够生成代码。 有什么工具,有什么想法吗?

【问题讨论】:

  • 您能否进一步说明您需要什么?我不确定你所说的“生成代码”是什么意思。谢谢。

标签: delphi code-generation


【解决方案1】:

Delphi 包含 Live Templates,这是一个完全可编写脚本和可配置的系统,用于生成任何大小或复杂性的代码结构。

在我看来,实时模板是 Delphi 中被低估的功能之一。

了解如何使用它们:http://delphi.wikia.com/wiki/Delphi_Live_Templates

http://delphi.wikia.com/wiki/Live_Templates_Technical_Info

实时模板是完全可编写脚本的,这意味着您可以编写 Delphi 代码来随心所欲地使用它们。

可在此处找到可扩展的示例:

http://cc.codegear.com/Item/26420

【讨论】:

    【解决方案2】:

    恕我直言,这不是一个好主意。如果你需要生成器,那么可能你有很多看起来非常相似的代码,所以与其生成器相比,更好的办法是重新思考和重构你拥有的代码。

    这应该会导致更容易维护的代码更少,并且将来用于类似任务的代码更少。

    如果您正在做数据库应用程序,那么您可以使用一些优秀的可视化 SQL 查询构建器来帮助您创建查询。那是Delphi不太好的部分(不知道在D2007和D2009有没有改进)

    编辑 - 关于 SQL 生成

    有很多关于查询生成器的 cmets。
    好吧,我想我被宠坏了。我记得,在版本 6(甚至可能是 5?)之前的 Delphi 有不错的可视化查询生成器。当我在查询设计器中选择字段时,我在 SQL 中有 0(零)个错误,而不是自己编写 SQL。
    SQL 在 Delphi 中只是字符串,没有编译器检查,所以这是确保 SQL 正确编写的最佳方法。

    【讨论】:

    • 不能再同意了。但是,恕我直言,这同样适用于 SQL 语句的生成。如果查询中有那么多重复,为什么不在那里重新考虑和重构(例如创建存储过程和视图)?
    • 我正在考虑生成基本的 CRUD 语句 - 使用可视化查询生成器比手动编码更容易,因此您可以确保所有字段名称都正确编写。
    • 好的。我想到目前为止我必须实现的系统还不够大,以至于我缺少用于这些语句的查询生成器。
    • 不确定他为什么要使用可视化 SQL 构建器。这并不意味着快速编码。
    • 在早期的 Delphi 版本中,要使用类型安全的对象(编译器会识别类型不匹配),您会得到重复的代码,只是更改了类型名称(TypeA 是 TypeB 的集合,TypeX 的 TypeY),仿制药部分解决了这个问题。否则,实时模板就是答案。
    【解决方案3】:

    如果您指的是建模工具之类的东西,您可以试试ModelMaker

    【讨论】:

      【解决方案4】:

      与其尝试生成代码,不如获取代码来完成大部分您想做的事情。

      德尔福有hundreds of free products at Sourceforge

      还有hundreds of thousands of code samples at Google Code Search可以使用。

      在诸如 Torry's Delphi PagesEmbarcadero's Code Central for Delphi 等存储库中还有数千个免费或可购买的组件

      使用已制作的组件是加快编码速度和添加您永远无法实现的功能的最快方法。

      【讨论】:

        【解决方案5】:

        对我来说最好的方法是创建自定义组件,然后为此组件创建设计器。
        我发现我大部分时间都在编写从控件读取/写入值的代码。因此,我创建了可以读取、写入、验证值并自动填写表单或存储过程或直接生成 SQL 并执行的控件。

        自定义设计器允许您轻松设置所有属性。现在我不再为这种微不足道的任务编写代码,我只是控制、打开设计器并设置必须满足的属性和规则。

        【讨论】:

        • 当然,但我的实现只适用于 firebird 数据库,我会在某个地方发布,我需要几天时间。
        【解决方案6】:

        ModelMaker Code Explorer 可以加快我的编码速度。它有一个很好的用于同步实现和声明的热键,所以如果你改变了一个,你不必搜索它对。此外,非常好的功能是方法编辑对话框。还有更多。

        【讨论】:

          【解决方案7】:

          你试过GExpert吗?它是一组工具,旨在通过向 IDE 添加多个功能来提高 Delphi 和 C++Builder 程序员的生产力。 GExperts 是作为开源软件开发的。

          其他替代方法是通过将框架保存到 IDE 存储库中来使用项目模板,创建自己的组件和框架。

          【讨论】:

            【解决方案8】:

            我编写了一个名为 CodeTypo 的代码生成器。我在许多生产环境中使用它。你可以在这里找到它:http://dade2000.altervista.org/index.php?page=CodeTypo

            它仍处于测试阶段,但可用且相当稳定。

            我会将这个旧网站的所有内容迁移到新的英文网站 (www.danieleteti.it) 中。我将添加一些关于 CodeTypo 和代码生成器的其他信息。

            【讨论】:

              【解决方案9】:

              最能加快我的 Delphi 编码速度的是获得 CodeRush for Delphi(通过 DevExpress VCL 订阅 Delphi 5、6、7)并设置大量模板。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2014-07-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-06-26
                相关资源
                最近更新 更多