我们应该将规范文档放在svn这样的源代码控制系统中吗?


11

今天,我和我的一位同事辩论了“我们应该将规范文档放到诸如SVN之类的源代码控制系统中吗?”。我认为应该是。与开发项目有关的一切都应使用源代码控制系统进行仔细控制。在软件开发过程中这是一个错误的概念吗?

Answers:


4

那么,如果大多数源代码控制系统仅将它们存储为Blob,该怎么办?大多数人都不会细谈文档之间的差异,但是如果您这样做,您总是可以得到两个版本,并使用创作系统的功能来差异它们。


2
没错,如果SVN能够确保始终拥有最新版本,我感到很高兴。在大多数情况下,差异不太重要。
Zachary K

这不是唯一的问题,当有多个编辑者时,锁定和覆盖更改是一个问题
Nicole

1
区分文件对您而言并不重要。但是对于PM来说,查看规格更改的能力非常重要。
马丁·约克

这个答案似乎更像是对其他答案的评论。例如,问题没有提及斑点。
布莱恩·奥克利

15

由于硬盘空间为每月每GB几美分,因此没有充分的理由不将文档放入源控制系统中,这很有用。我个人的喜好是使用内联标记(例如Wiki MarkupDocBook)编写文档。这允许使用功能强大的工具进行文档比较和修订。


3
如果没有别的什么,那么与之相比,看看v1.0的规格看起来是多么有趣!
马丁·贝克特

8

对规范文档进行版本控制绝对是一个值得追求的目标。

但是,规范文档纯文本文件,还是纯文本文件?如果是这样,这可能是一个很好的解决方案。

如果不是这样,则源代码管理可能不是适合他们的地方- 源代码管理对二进制文件不利

通常,纯文本文件既不适合格式设置也不适合快速查看,因此带版本控制的Wiki可能是一个更好的主意。


通常,我们的文档不仅包括纯文本内容,还包括诸如UML图之类的图片。我完全同意二进制格式的文件不适合源代码控制系统。但是,我认为这总比没有好。对?如果有维基,我们可以采用。那太好了。但是我担心。我们的人民将太忙于学习如何使用Wiki。(可悲)
Edison Chuang

1
如今,所见即所得的编辑器有许多Wiki。我是一个非常不情愿的共享点转换。作为开发人员,我充满激情地讨厌共享点。然后,我与共享点一起提供了Microsoft BPOS,并用于与远程团队成员合作进行项目。它具有Wiki,论坛,日历和文档库(可以跟踪Microsoft Office Docs)以及许多其他东西,这些东西使项目协作变得非常简单。我认为Wiki作为一种实时规范是完美的,因为它具有悠久的历史。
迈克尔·布朗

严格来说,源代码控制对于二进制文件来说还不错。这并不是像它以某种方式破坏或变异它们。但是,可以说二进制文件对于源代码控制是有害的,但这仅仅是因为它们占用了大量的磁盘空间并使克隆速度变慢。但是,磁盘空间很便宜,因此它并不像5年前那样糟糕。
布莱恩·奥克利

1

所有文档都应采用某种存档形式(最好带有修订控制)。

源代码管理系统是一种解决方案。但是通常这些系统是为纯文本文档设计的。因此,Word或RTF文档等内容不太适合(尤其是当您尝试比较不同版本时)。

但是,还有其他专为文档设计的解决方案。想到了SharePoint,但我敢肯定还有其他人。


0

绝对是 文档存储为二进制文件(例如Word文档)的问题很烦人。一个不错的解决方法是,如果您使用其中一种Tortoise工具(我已经尝试过SVN和Mercurial),则可以选择“ Visual Diff”,以使您可以选择docdiff。使用docdiff,您可以看到颜色和内容的所有更改:-)。主要缺点是,每次进行更改时,整个文档都会再次提交(不仅仅是更改)。但是考虑到文本文档通常不会很大,并且空间可能不是您的主要问题,这没问题。

我确定您可以在不使用Tortoise的情况下使用docdiff,这只是我没有尝试过。


但是,它没有解决“覆盖来自多个编辑器的更改”问题。
奥马尔·科尔

0

您应该讨论另一种方法:BDD

请考虑具有可执行规范的行为驱动开发。您的规范将简化为一系列“给定-时间-然后”存储在文本文件中的语句集。诸如Cucumber或SpecFlow之类的BDD工具会将这些文本文件转换为可执行的测试,您的构建工具可以执行这些测试。

黄瓜: http ://cukes.info/-Ruby的BDD

SpecFlow:http//www.specflow.org/-用于.Net的BDD

要使用SpecFlow之类的工具快速演示工作流程,请查看Rob Conery的SpecFlow演练:http : //tekpub.com/view/concepts/5

现在,不仅要对代码进行版本控制,还需要对规范以及持续集成工具(例如TeamCity,CruiseControl,Hudson等)进行版本控制,以确保所有规范在每次构建时都仍然有效……这对您有价值吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.