您能否解释为何这种方法尚未存在且未广泛使用?
或者如果存在这样的工具集,你能引用它吗?
为什么版本控制系统(VCS)正在处理文件( clearcase,svn,git e tc )?而不是单位/功能?
因此,要跟踪功能的变化,必须分析版本的文件(有时是几个文件) - 例如:如果我想分析“更改功能”,我会得到一个历史记录该模块/功能,并在一个地方看到它。
如果存在这样的工具......那么,软件配置工具(SCM)会将这些单元和/或功能放在一个发布配置中。为什么呢,我们仍然使用 Makefile,build.xml,plugin.xml e tc?
关于构建:编译器是否真的有必要拥有文件?如果SCM可以为构建工具准备输入并且获取二进制文件?
例如,C / C ++:这样的SCM可以在一个块中准备整个源并从编译器中获取二进制文件。在Java的情况下:SCM可以准备.java类并从编译器中获取.jar。谢谢。
PS:我没有为任何特定问题寻找解决方案,更多的是关于方法。在每个项目中相同的方法在source / config / build上。不同的工具正在不断发展......但是没有新的方法/方法以不同的方式处理复杂的系统。
答案 0 :(得分:1)
如果我想分析“更改功能”,我会获得该模块/功能的历史记录,并在一个地方看到它。
如果存在这样的工具
它实际上是这样的:请参阅“Can Git really track the movement of a single function from 1 file to another? If so, how?”及其git blame -C
命令。
为什么,我们仍然使用Makefile,build.xml,plugin.xml等?
如果是关于声明:您声明要构建的内容,但最重要的是以您需要的顺序和依赖项。
如果SCM可以为构建工具准备输入并获取二进制文件吗?
构建工具的输入仍然是文件,而不是“单位/功能”:编译工具更加发展和装备,可以解析/分析和提取这些单元,从而构建二进制文件。
在单一的SCM工具中承担过多的责任似乎是尝试做到这一切,这意味着它会做得“全部”不太好,而不是做得非常好。