Haruskah kita meletakkan dokumen spesifikasi dalam sistem kontrol sumber seperti svn?

11

Hari ini, Salah satu kolega saya dan saya berdebat tentang "Haruskah kita meletakkan dokumen spesifikasi dalam sistem kontrol sumber seperti SVN?". Menurut saya, seharusnya begitu. Segala sesuatu yang berkaitan dengan pengembangan proyek harus dikontrol dengan hati-hati dengan sistem kontrol sumber. Apakah ini konsep yang salah dalam proses pengembangan perangkat lunak?

Edison Chuang
sumber

Jawaban:

4

Jadi bagaimana jika kebanyakan sistem kontrol sumber hanya menyimpannya sebagai gumpalan? Kebanyakan orang tidak memberikan rip tentang perbedaan antar dokumen, tetapi jika Anda melakukannya, Anda selalu bisa mendapatkan dua versi dan menggunakan fitur dari sistem penulisan untuk membuatnya berbeda.

SnoopDougieDoug
sumber
2
Benar, saya senang jika SVN memastikan bahwa saya selalu memiliki versi saat ini. Diffs kurang penting sebagian besar waktu.
Zachary K
Itu bukan satu-satunya masalah, mengunci dan menimpa perubahan adalah masalah ketika ada banyak editor
Nicole
1
Menyebarkan dokumen tidak penting bagi Anda. Tetapi bagi seorang PM, kemampuan untuk melihat perubahan dalam spesifikasi sangat penting.
Martin York
Jawaban ini sepertinya lebih seperti komentar tentang beberapa jawaban lain. Misalnya, pertanyaan itu tidak menyebutkan apa pun tentang gumpalan.
Bryan Oakley
15

Dengan ruang hard disk dengan uang per gigabyte per bulan, tidak ada alasan bagus untuk tidak meletakkan dokumen di sistem kontrol sumber, dan ini sepertinya akan bermanfaat. Preferensi pribadi saya adalah menulis dokumen menggunakan inline markup, misalnya Wiki Markup atau DocBook . Ini memungkinkan penggunaan alat yang ampuh untuk perbandingan dan revisi dokumen.

kevin cline
sumber
3
Jika tidak ada yang lain, itu menyenangkan untuk melihat seperti apa v1.0 dari spesifikasi itu, dibandingkan dengan kapal apa!
Martin Beckett
8

Pengesahan dokumen spesifikasi jelas merupakan tujuan yang layak.

Namun, apakah spesifikasi dokumen Anda hanya teks dan dalam file teks biasa ? Jika demikian, ini mungkin solusi yang baik.

Jika tidak, kontrol sumber mungkin bukan tempat yang tepat untuk mereka - kontrol sumber buruk untuk file biner .

Biasanya, file teks biasa tidak baik untuk memformat atau untuk melihat cepat, sehingga wiki dengan versi mungkin merupakan ide yang lebih baik.

Nicole
sumber
Biasanya, dokumen kami tidak hanya mencakup konten teks biasa tetapi juga gambar seperti diagram UML atau semacamnya. Saya sepenuhnya setuju bahwa file yang diformat biner tidak cocok untuk sistem kontrol sumber. Namun, saya pikir ini lebih baik daripada tidak sama sekali. Baik? Jika ada wiki yang bisa kita adopsi. Itu akan bagus. Tapi saya khawatir tentang itu. Orang-orang kita akan "terlalu sibuk" untuk belajar cara menggunakan wiki. (Sedih)
Edison Chuang
1
Ada banyak wiki sekarang-a-hari dengan editor WYSIWYG. Saya seorang sharepoint yang sangat enggan bertobat. Sebagai pengembang, saya benci sharepoint dengan penuh gairah. Kemudian saya mendaftar dengan Microsoft BPOS yang datang dengan sharepoint dan menggunakannya untuk berkolaborasi pada proyek dengan anggota tim jarak jauh. Ini memiliki wiki, forum, kalender, dan pustaka dokumen (yang melakukan pelacakan untuk Microsoft Office Docs) dan banyak hal lain yang hanya membuat kolaborasi proyek mati dengan mudah. Saya pikir Wiki sebagai spesifikasi hidup sangat cocok karena sejarah yang diberikannya.
Michael Brown
Sebenarnya, kontrol sumber tidak buruk untuk file biner. Ini tidak seperti itu menghancurkan atau bermutasi dengan cara tertentu. Namun, bisa dibilang, file biner buruk untuk kontrol sumber, tetapi hanya karena mereka mengambil banyak ruang disk dan membuat kloning lebih lambat. Ruang disk murah, jadi itu tidak seburuk itu bahkan 5 tahun yang lalu.
Bryan Oakley
1

Semua dokumen harus dalam bentuk arsip (lebih disukai dengan kontrol revisi).

Sistem kontrol sumber adalah satu solusi. Tetapi biasanya sistem ini dirancang untuk dokumen teks biasa. Jadi hal-hal seperti dokumen Word atau RTF dll tidak cocok dengan baik (terutama ketika Anda mencoba dan membandingkan versi yang berbeda).

Tetapi Ada solusi lain yang dirancang khusus untuk dokumen. SharePoint muncul dalam pikiran, tapi saya yakin ada orang lain.

Martin York
sumber
0

Pastinya. Masalah bahwa dokumen disimpan sebagai binari (misalnya dokumen kata) sangat mengganggu. Solusi yang bagus adalah jika Anda menggunakan salah satu alat Tortoise (saya telah mencoba SVN dan Mercurial) Anda dapat memilih "Visual Diff" yang memungkinkan Anda memilih docdiff. Dengan docdiff Anda bisa melihat semua perubahan dengan warna dan barang :-). Kerugian utama adalah bahwa setiap kali Anda melakukan perubahan seluruh dokumen dilakukan lagi (bukan hanya perubahan). Tetapi mengingat bahwa dokumen teks biasanya tidak besar dan ruang itu mungkin bukan masalah utama Anda, ini bukan masalah.

Saya yakin Anda dapat menggunakan docdiff tanpa Tortoise, hanya saja saya belum mencobanya.

Omar Kohl
sumber
Itu tidak mengatasi masalah "Menimpa perubahan dari beberapa editor".
Omar Kohl
0

Ada pendekatan alternatif yang harus Anda diskusikan: BDD

Harap pertimbangkan Pengembangan Berbasis Perilaku dengan spesifikasi yang dapat dieksekusi. Spesifikasi Anda dapat disederhanakan menjadi serangkaian serangkaian Pernyataan Diberikan - Kapan - Kemudian yang disimpan dalam file teks. Alat BDD seperti Mentimun atau SpecFlow mengubah file teks tersebut menjadi tes yang dapat dieksekusi, yang dapat dieksekusi oleh alat build Anda.

Mentimun: http://cukes.info/ - BDD untuk Ruby

SpecFlow: http://www.specflow.org/ - BDD untuk .Net

Untuk demo alur kerja yang cepat dengan alat seperti SpecFlow, periksa walk-through SpecFlow karya Rob Conery: http://tekpub.com/view/concepts/5

Sekarang, tidak hanya Anda membuat versi kode Anda, tetapi spesifikasi Anda, dan alat Integrasi Berkelanjutan Anda (pikirkan TeamCity, CruiseControl, Hudson, dll) memberlakukan bahwa semua spesifikasi masih berlaku pada SETIAP bangunan ... Apakah itu berharga bagi Anda?

Jeff Fritz
sumber