Şartname belgelerini svn gibi kaynak kontrol sistemine koymalı mıyız?


11

Bugün, çalışma arkadaşımdan biri ve ben "Teknik özellikler belgelerini SVN gibi kaynak kontrol sistemine koymalı mıyız?" Bence öyle olmalı. Gelişmekte olan proje ile ilgili her şey kaynak kontrol sistemi ile dikkatlice kontrol edilmelidir. Yazılım geliştirme sürecinde yanlış bir kavram mı?

Yanıtlar:


4

Peki ya çoğu kaynak kontrol sistemi sadece blob olarak depolarsa? Çoğu kişi dokümanlar arasındaki farklar hakkında bir rip vermez, ancak yaparsanız, her zaman iki sürüm alabilir ve bunları dağıtmak için geliştirme sisteminin özelliğini kullanabilirsiniz.


2
Doğru, SVN her zaman güncel sürüme sahip olduğumdan emin olursa mutluyum. Farklılıklar çoğu zaman daha az önemlidir.
Zachary K

Tek sorun bu değil, birden fazla düzenleyici olduğunda kilitleme ve üzerine yazma değişiklikleri bir sorun
Nicole

1
Belgeleri dağıtmak sizin için önemli değil. Ancak bir Başbakan için teknik özelliklerde değişiklik görme yeteneği çok önemlidir.
Martin York

Bu cevap daha çok başka bir cevap hakkında bir yorum gibi görünüyor. Örneğin, soru lekeler hakkında hiçbir şeyden bahsetmez.
Bryan Oakley

15

Ayda bir gigabayt başına peni sabit disk alanıyla, kaynak kontrol sistemine belge koymamak için iyi bir neden yoktur ve muhtemelen yararlı olacaktır. Kişisel tercihim satır içi işaretleme kullanarak belge yazmak, örneğin Wiki İşaretleme veya DocBook . Bu, belge karşılaştırma ve revizyon için güçlü araçların kullanılmasına izin verir.


3
Başka bir şey yoksa, hangi gemilerin v1.0'ının neye benzediğini görmek eğlenceli!
Martin Beckett

8

Spesifikasyon belgelerinin versiyonlanması kesinlikle değerli bir hedeftir.

Ancak, teknik özellik belgeleriniz yalnızca metin mi ve düz metin dosyasında mı? Eğer öyleyse, bu iyi bir çözüm olabilir.

Değilse, kaynak denetimi muhtemelen onlar için doğru yer değildir - kaynak denetimi ikili dosyalar için kötüdür .

Düz metin dosyaları genellikle biçimlendirme veya hızlı görüntüleme için iyi değildir, bu nedenle sürümlendirme içeren bir wiki muhtemelen daha iyi bir fikirdir.


Genellikle, Belgemiz yalnızca düz metin içeriği değil, aynı zamanda UML diyagramı veya bunun gibi bir resim de içerir. İkili biçimli dosyaların kaynak kontrol sistemi için uygun olmadığına tamamen katılıyorum. Ancak bence hiç yoktan iyidir. sağ? Eğer wiki olsaydı benimseyebiliriz. Bu harika olurdu. Ama bunun için endişeleniyorum. Wiki'nin nasıl kullanılacağını öğrenmek için halkımız "çok meşgul" olurdu. (Üzgün)
Edison Chuang

1
WYSIWYG editörleri ile günümüzde birçok wikis var. Ben çok isteksiz bir sharepoint dönüştürüyorum. Bir geliştirici olarak, bir tutkuyla paylaşımdan nefret ettim. Sonra Sharepoint ile gelen Microsoft BPOS ile kaydoldum ve uzak ekip üyeleriyle projelerde işbirliği yapmak için kullandım. Wiki, forumlar, takvimler ve belge kitaplıklarına (Microsoft Office Docs için izleme yapan) ve proje işbirliğini kolaylaştıran bir sürü başka şeye sahiptir. Bir Wiki'nin canlı bir şartname olarak sağladığı tarih nedeniyle mükemmel olduğunu düşünüyorum.
Michael Brown

Kesin olarak, kaynak kontrolü ikili dosyalar için kötü değildir. Onları bir şekilde yok ettiği veya değiştirdiği gibi değil. Bununla birlikte, ikili dosyalar kaynak kontrolü için kötüdür, ancak sadece çok fazla disk alanı kapladıklarından ve klonlamayı yavaşlattıklarından. Disk alanı ucuz olsa da, bu yüzden 5 yıl önce olduğu kadar kötü değil.
Bryan Oakley

1

Tüm belgeler bir çeşit arşiv biçiminde olmalıdır (tercihen revizyon kontrolleri ile).

Kaynak kontrol sistemleri bir çözümdür. Ancak genellikle bu sistemler düz metin belgeler için tasarlanmıştır. Bu nedenle, Word veya RTF belgeleri gibi şeyler çok iyi uymuyor (özellikle farklı sürümü denediğinizde ve karşılaştırdığınızda).

Ancak , belgeler için özel olarak tasarlanmış başka çözümler de vardır. SharePoint akla geliyor, ama eminim başkaları da var.


0

Kesinlikle. Belgelerin ikili olarak depolanması sorunu (örneğin, kelime belgeleri) sinir bozucu. Tortoise araçlarından birini (SVN ve Mercurial'ı denedim) kullanırsanız, docdiff'i seçmenize izin veren "Visual Diff" i seçebilirsiniz. Docdiff ile renk ve malzeme ile tüm değişiklikleri görmek olsun :-). Ana dezavantaj, her değişiklik yaptığınızda belgenin tamamının yeniden işlenmesi (sadece değişiklik değil). Ancak metin belgelerinin normalde çok büyük olmadığı ve bu alanın muhtemelen ana sorununuz olmadığı göz önüne alındığında, bu sorun değil.

Tortoise olmadan docdiff kullanabileceğinizden eminim, sadece denemedim.


Yine de "Birden çok düzenleyicideki değişikliklerin üzerine yazma" sorununu gidermiyor.
Omar Kohl

0

Tartışmanız gereken alternatif bir yaklaşım var: BDD

Lütfen yürütülebilir özelliklerle Davranış Odaklı Geliştirme'yi göz önünde bulundurun. Spesifikasyonlarınız, metin dosyalarında depolanan bir dizi Verilen - Ne Zaman - Sonra ifadelerine basitleştirilir. Salatalık veya SpecFlow gibi bir BDD aracı, bu metin dosyalarını oluşturma aracınızın yürütebileceği yürütülebilir testlere dönüştürür.

Salatalık: http://cukes.info/ - Ruby için BDD

SpecFlow: http://www.specflow.org/ - .Net için BDD

SpecFlow gibi bir araçla iş akışının hızlı bir demosunu görmek için Rob Conery's SpecFlow uygulamasına göz atın: http://tekpub.com/view/concepts/5

Şimdi, yalnızca kodunuzu değil, spesifikasyonlarınızı ve Sürekli Entegrasyon aracınızın (TeamCity, CruiseControl, Hudson, vb.) Tüm sürümlerin hala HER yapıda geçerli olmasını zorunlu kılıyor ... Bu sizin için değerli mi?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.