사양 문서를 svn과 같은 소스 제어 시스템에 넣어야합니까?


11

오늘 제 동료 중 한 명과 "SVN과 같은 소스 제어 시스템에 사양 문서를 넣어야합니까?"에 대한 토론이 있습니다. 제 생각에는 그렇습니다. 프로젝트 개발과 관련된 모든 것은 소스 제어 시스템으로 신중하게 제어해야합니다. 소프트웨어 개발 프로세스에서 잘못된 개념입니까?

답변:


4

그렇다면 대부분의 소스 제어 시스템이이를 블롭으로 만 저장한다면 어떨까요? 대부분의 사람들은 문서 간의 차이점에 대해 언급하지 않지만, 그렇게하면 항상 두 가지 버전을 얻을 수 있으며 제작 시스템의 기능을 사용하여 차이점을 파악할 수 있습니다.


2
사실, SVN이 항상 최신 버전을 유지하고 있는지 기쁘게 생각합니다. 확산은 대부분 덜 중요합니다.
Zachary K

이것이 유일한 문제는 아니며 여러 편집자가있을 때 변경 사항을 잠그고 덮어 쓰는 것은 문제입니다.
Nicole

1
문서를 구별하는 것은 중요하지 않습니다. 그러나 PM에게는 사양의 변화를 볼 수있는 능력이 매우 중요합니다.
Martin York

이 답변은 다른 답변에 대한 의견과 비슷합니다. 예를 들어이 질문에는 얼룩에 대한 언급이 없습니다.
Bryan Oakley

15

한 달에 기가 바이트 당 페니에 하드 디스크 공간이 있으면 소스 제어 시스템에 문서를 넣지 않을 이유가 없으며 유용 할 것입니다. 개인적으로 선호하는 것은 Wiki Markup 또는 DocBook 과 같은 인라인 마크 업을 사용하여 문서를 작성하는 것 입니다. 이를 통해 문서 비교 및 ​​개정을위한 강력한 도구를 사용할 수 있습니다.


3
다른 것이 없다면 v1.0의 사양이 어떤 선박과 비교하여 어떤지 확인하는 것이 재미 있습니다!
Martin Beckett

8

버전 사양 문서는 확실히 가치있는 목표입니다.

그러나 사양 문서는 텍스트 전용 이며 일반 텍스트 파일로되어 있습니까? 그렇다면 이것이 좋은 해결책 일 수 있습니다.

그렇지 않다면 소스 제어는 아마도 적절한 위치가 아닐 것입니다. 소스 제어는 이진 파일에 좋지 않습니다 .

일반적으로 일반 텍스트 파일은 형식 화나 빠른보기에 적합하지 않으므로 버전 관리 기능이 있는 Wiki 가 더 좋습니다.


일반적으로 우리의 문서에는 일반 텍스트 컨텐츠뿐만 아니라 UML 다이어그램 또는 이와 유사한 그림도 포함됩니다. 바이너리 형식의 파일이 소스 제어 시스템에 적합하지 않다는 것에 전적으로 동의합니다. 그러나 나는 그것이 아무것도 아닌 것보다 낫다고 생각합니다. 권리? 위키가 있다면 우리는 채택 할 수 있습니다. 대단 할 것입니다. 그러나 나는 그것에 대해 걱정한다. 우리 사람들은 위키 사용법을 배우기에는 "너무 바쁘다"(슬픈)
Edison Chuang

1
WYSIWYG 편집기에는 오늘날 많은 위키가 있습니다. 저는 매우 꺼려하는 쉐어 포인트 전환입니다. 개발자로서 저는 열정을 가지고 쉐어 포인트를 싫어했습니다. 그런 다음 Sharepoint와 함께 제공되는 Microsoft BPOS에 가입하여 원격 팀원과 프로젝트를 공동 작업하는 데 사용했습니다. 여기에는 위키, 포럼, 일정 및 문서 라이브러리 (Microsoft Office Docs를 추적하는)와 프로젝트 협업을 쉽게하기위한 많은 것들이 있습니다. 나는 살아있는 규격으로서의 위키가 그것이 제공 한 역사 때문에 완벽하다고 생각합니다.
Michael Brown

엄밀히 말하면 소스 제어는 이진 파일에 나쁘지 않습니다. 그것은 어떤 식 으로든 그들을 파괴하거나 돌연변이시키는 것과는 다릅니다. 그러나 바이너리 파일은 소스 제어에 좋지 않지만 디스크 공간을 많이 차지하고 복제 속도가 느려지기 때문입니다. 디스크 공간은 저렴하기 때문에 5 년 전보다 나쁘지 않습니다.
Bryan Oakley

1

모든 문서는 어떤 형태의 아카이브 형태 (바람직하게는 개정 관리 기능이 있어야 함) 여야합니다.

소스 제어 시스템은 하나의 솔루션입니다. 그러나 일반적으로 이러한 시스템은 일반 텍스트 문서 용으로 설계되었습니다. 따라서 Word 또는 RTF 문서 등과 같은 것은 잘 맞지 않습니다 (특히 다른 버전을 시도하고 비교할 때).

그러나 문서를 위해 특별히 설계된 다른 솔루션이 있습니다. SharePoint가 떠오를 것이지만 다른 것도 있다고 확신합니다.


0

명확히. 문서가 이진 파일 (예 : 단어 문서)로 저장되는 문제는 성가신 일입니다. 좋은 해결책은 Tortoise 도구 (SVN 및 Mercurial을 사용해 보았습니다) 중 하나를 사용하는 경우 docdiff를 선택할 수있는 "Visual Diff"를 선택할 수 있다는 것입니다. docdiff를 사용하면 색상과 물건으로 모든 변경 사항을 볼 수 있습니다 :-). 가장 큰 단점은 변경할 때마다 전체 문서가 다시 커밋된다는 것입니다 (변경뿐 아니라). 그러나 텍스트 문서가 일반적으로 크지 않으며 공간이 아마도 주요 문제가 아니라는 것을 고려할 때 이것은 문제가되지 않습니다.

Tortoise없이 docdiff를 사용할 수 있다고 확신합니다. 단지 시도하지 않았습니다.


"여러 편집기에서 변경 사항 덮어 쓰기"문제를 해결하지는 않습니다.
Omar Kohl

0

논의해야 할 대안이 있습니다 : BDD

실행 가능한 사양의 행동 주도 개발을 고려하십시오. 스펙은 텍스트 파일에 저장된 일련의 Given-When-When 문 세트로 단순화됩니다. 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

이제 코드 버전을 지정할뿐만 아니라 사양 및 Continuous Integration 도구 (TeamCity, CruiseControl, Hudson 등)가 모든 사양이 모든 빌드에서 여전히 유효하도록 강제하고 있습니다. 귀중한가?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.