【问题标题】:How to see the effect of changes I made in the source code?如何查看我在源代码中所做的更改的效果?
【发布时间】:2016-07-10 10:22:57
【问题描述】:

我正在尝试为开源工作,但有疑问,当我对源代码进行更改时,我如何知道软件中发生了哪些变化?每次修改都需要编译安装吗?

【问题讨论】:

  • 您是否正在寻找一种软件来突出您的代码更改以与现有代码区分开来?
  • 不,假设我有一个软件的源代码,我编译并安装了它。现在,我对源代码进行了一些更改。我怎么知道发生了哪些变化?我必须编译源代码并再次安装它吗?
  • 是的,以一种不愉快的方式。
  • @MridulGupta 是否可以只比较源代码,但让程序突出显示源代码中的变化?

标签: compilation open-source building


【解决方案1】:

在开源项目(或任何软件项目)中,更改通常通过用于software versioningversion control system 进行管理。一个常见的例子是 GitHub 中使用的Git

进行更改后,您可以对软件的各个组件进行单元测试,而无需将整个程序作为一个整体进行测试。这称为unit testing。如果您想了解新代码在更大范围内的工作原理,您可以使用integration testing

在 Linux 等开源操作系统内核的上下文中,集成测试可能涉及重新编译整个内核的耗时任务。虽然在相同的场景中,对添加或修改的代码的较小单元进行单元测试,但您不需要重新编译整个内核,因为您的单元测试程序只需要它正在测试的代码。

【讨论】:

    【解决方案2】:

    当使用编译语言编写代码时,从技术上讲,您每次想要执行它(调试它)时都必须编译它。然而,现在大多数 IDE 都可以通过简单的键绑定(Visual Studio 中的 F5 和 Eclipse 中的 F11)为您轻松完成此操作。

    如果您想为软件部署更新而不需要在多个系统上重新安装程序,还有很多可用的工具(您没有提到您使用的语言,但我假设是 C#/Java)机器。

    查看这些链接

    C# ClickOnce Application

    Java Web Start

    Updating a Java application in Runtime

    【讨论】:

    • 那么像linux这样的大项目呢?每次修改后编译测试一定很耗时吧?
    • @Mridul Gupta:他们可以在单个组件上执行unit testing,而无需编译整个操作系统,而不是涉及重新编译 Linux 内核的完整integration test
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多