【问题标题】:Do you use regular builds as a coding tool?您是否使用常规构建作为编码工具?
【发布时间】:2008-11-19 15:16:57
【问题描述】:

我们有一个大型(大约 580,000 loc)应用程序,在 Delphi 2006 中构建(在我的机器上)大约需要 20 秒。当构建时间以秒为单位时,您倾向于将编译器用作工具。即编写一些代码,构建,编写更多代码并构建更多等等当我们将一些东西转移到 C# 中时,有没有人比较过构建这种大小的东西需要多长时间?我目前只有小型应用程序和组件,因此无法真正进行比较。如果事情需要更长的时间来构建,那么我可能需要改变我的风格!还是我的风格只是懒惰?

例如,如果我要更改方法调用的接口,而不是在所有应用程序上进行全面搜索以找出我需要对调用进行更改的位置,我将使用编译器来查找它们我。

【问题讨论】:

    标签: c# performance delphi compiler-construction


    【解决方案1】:

    Visual Studio 2008 SP1 现在为 C# 提供了后台编译(它一直为 VB.NET 提供)。回到我的 VB 时代,我经常使用它来通过更改名称来查找引用的位置,然后查看后台编译器说哪里有错误。

    我从来没有做过这么大的事情。在我的上一份工作中,我们有大约 60,000 个 loc 分布在大约 15 个项目中,编译大约需要 10 秒。也许其他人可以发布一个稍微大一点的案例研究

    【讨论】:

    • Delphi 2010有后台编译。
    • Delphi 2010 没有后台编译。后台编译意味着您的应用程序在您键入时不断编译。您无需点击“编译”按钮即可查看编译器错误。 Delphi 2010 可以“在后台线程中”编译。不是一回事。
    【解决方案2】:

    我曾经使用过您所描述的编译器,但由于我一直在使用ReSharper,所以我很少这样做。 此外,对于重命名之类的事情,重构支持(在 Visual Studio 2005 及更高版本中,甚至更好的是来自 ReSharper)意味着我不必执行搜索 + 替换来重命名。

    【讨论】:

      【解决方案3】:

      您可以利用的一件事,尤其是在桌面应用程序中,我想您正在处理来自 Delphi 的问题,那就是编辑并继续。这使您可以在调试模式下运行时更改实际代码。除了添加类级别变量、方法或新类之外,您几乎可以更改任何内容,并且仍然可以继续运行,而无需重新编译您的项目。

      【讨论】:

        【解决方案4】:

        我只使用“语法检查”来查看我是否忘记了代码上的一些拼写错误……而且这些错误大大减少了,因为我是 GExperts 插件的“代码校对员”。

        【讨论】:

          【解决方案5】:

          好吧,编译器不必那么快就可以利用它。一些 IDE 支持在每个文件保存时进行增量编译,或者即时进行。这很好用。

          【讨论】:

            【解决方案6】:

            您可以将应用程序拆分为多个项目(按层和/或模块和/或等...),您将只编译项目,您实际在哪里工作。

            【讨论】:

              【解决方案7】:

              你帖子的最后一部分吓到我了。我不熟悉其他 IDE,但 MSDev 允许您查找对方法的所有引用 - 因此您不必编译只是为了找到您中断的所有方法调用。

              使用任何可行的方法,但最好你愿意接受新的做事方式。

              【讨论】:

              • 是的,我猜是这样,你也可以在 Delphi 中这样做,只是编译器太快了,我有时将它用作搜索引擎。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-08-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-09-30
              • 2018-11-20
              • 1970-01-01
              相关资源
              最近更新 更多