1

您能否解释一下为什么这种方法不存在并且没有广泛使用?

或者如果存在这样的工具集,你能引用它吗?


为什么版本控制系统(VCS)正在处理文件(clearcase、svn、git e tc)?而不是单位/功能?

因此,要跟踪功能的更改,必须分析文件的版本(有时是几个文件)——例如:如果我想分析“更改功能”,我将获得该模块/功能的历史记录并在一个地方查看.

如果存在这样的工具……那么,软件配置工具(SCM) 会将这些单元和/或功能放在一起发布配置。为什么呢,我们还是用Makefile、build.xml、plugin.xml 等

关于构建:编译器真的有必要拥有文件吗?如果 SCM 可以为构建工具准备输入并获取二进制文件

例如 C/C++:这样的 SCM 可以在一个块中准备整个源代码并从编译器中获取二进制文件。在 Java 的情况下:SCM 可以准备 .java 类并从编译器中获取 .jar。

谢谢你。


PS:我不寻找任何特定问题的解决方案,更多的是关于方法。在每个项目中,source/config/build 上的方法相同。使用不同的工具,它们正在不断发展......但是没有新的方法/方法可以以不同的方式处理复杂的系统。

4

1 回答 1

1

如果我想分析“更改功能”,我会获得该模块/功能的历史记录并在一个地方查看它。

如果存在这样的工具

它确实如此:请参阅“ Git 真的可以跟踪单个函数从一个文件到另一个文件的移动吗?如果可以,如何? ”及其git blame -C命令。

为什么呢,我们还在使用 Makefile、build.xml、plugin.xml 等?

If 是关于声明:您声明要构建的内容,但最重要的是按照您需要的顺序和依赖项。

如果 SCM 可以为构建工具准备输入并获取二进制文件?

构建工具的输入仍然是文件,而不是“单元/函数”:编译工具更加进化,并且能够解析/分析和提取这些单元,从而构建二进制文件。
把太多的职责放在唯一的 SCM 工具上似乎试图做所有的事情,这意味着它不会把“所有”做得太好,而不是出色地做一件事。

于 2013-05-24T11:35:29.440 回答