วิกิมีความเหมาะสมในการจัดเก็บเอกสารเพื่อการพัฒนาซอฟต์แวร์หรือไม่? [ปิด]


18

ทุกคนรู้ว่าการพัฒนาซอฟต์แวร์ที่มีเอกสารที่ดีจะนำไปสู่ความสำเร็จ อย่างไรก็ตามมันมักจะหมายถึงว่าไม่เพียง แต่ข้อความธรรมดา แต่ยังรวมถึงเนื้อหาไบนารีที่จะมีส่วนร่วมในเอกสารเช่นแผนภาพ UML และฉันเคยได้ยินหลายคนพูดอย่างนั้น ระบบควบคุมเวอร์ชันไม่เหมาะสมสำหรับไฟล์ไบนารี ฉันเข้าใจและเห็นด้วยอย่างยิ่งกับปัญหา ฉันถามนักพัฒนาที่มีประสบการณ์หลายคนว่าควรเก็บเอกสารไว้ที่ไหนดีที่สุดและคำตอบที่ฉันได้รับคือ "วิกิ" Wiki ดี แต่ฉันคิดว่าเป็นปัญหาที่อาจเกิดขึ้นอีก ซอร์สโค้ดที่เก็บไว้ในระบบควบคุมเวอร์ชันสามารถเชื่อมต่อกับเอกสารที่เกี่ยวข้องในวิกิได้อย่างไร? สมมติว่ามีคนโคลนที่เก็บของคอมไพล์หรือ Mercurial เขา / เธอสามารถค้นหาเอกสารได้อย่างง่ายดายได้อย่างไร? หรือฉันเพิ่งจะพลาดอะไรไป?

ฉันรู้ว่าระบบวิกิบางระบบมีความสามารถในการรวมเข้ากับระบบควบคุมแหล่งที่มา แต่ข้อกังวลของฉันไม่ได้เกี่ยวกับความสามารถในการรวมเข้าด้วยกัน หากคุณได้โคลนซอร์สโค้ดจากที่เก็บคอมไพล์และหลังจากนั้นไม่นานคุณก็ขึ้นรถไฟและต้องการทำงานออฟไลน์บนรถไฟต่อไป (ซึ่งเป็นคุณสมบัติที่สำคัญของ DVCS) ทันใดนั้นคุณก็รู้ว่าคุณไม่สามารถเข้าถึงเอกสารใด ๆ ได้เนื่องจากคุณทำงานออฟไลน์บนรถไฟ ในทางตรงกันข้ามถ้าเอกสารถูกเก็บไว้ในที่เก็บ git คุณจะสามารถเข้าถึงเอกสารที่มีการโคลนที่เก็บ


3
FYI: Wiki ไม่ได้เป็นตัวย่อมันเป็นคำภาษาฮาวายที่มีความหมายว่า "รวดเร็ว"
Jörg W Mittag

ข้อเท็จจริงที่ว่าเอกสารประกอบเกี่ยวข้องกับไบนารีไม่ใช่เหตุผลที่ดีที่จะหลีกเลี่ยงการเก็บไว้ในระบบควบคุมเวอร์ชันของคุณ VCS สามารถจัดการกับไฟล์ไบนารีได้อย่างง่ายดาย และถ้าคุณเก็บไว้ใน VCS ของโครงการคุณมีข้อได้เปรียบในการแยกสาขาเอกสารของคุณเมื่อคุณแยกสาขาโครงการของคุณ
JW01

เช่นเดียวกับการทำงานแบบออฟไลน์: วิธีการแก้ปัญหาสัตว์เดรัจฉานคือการดาวน์โหลดหน้าเว็บที่คุณต้องการโดยใช้ตัวอ่านแบบออฟไลน์ สิ่งที่สวยงามกว่านั้นก็คือการลอกแบบ wiki ทั้งหมดถ้าเป็นไปได้ (เช่นคัดลอกฐานข้อมูลพื้นฐานและติดตั้ง wiki ของคุณเอง) วิกิที่ใช้ VCS เป็นโซลูชันที่สง่างามยิ่งกว่าเดิม ฉันมักจะทำงานออฟไลน์และมักจะดาวน์โหลดหน้าเว็บที่ฉันต้องการเป็นประจำก็เพียงพอแล้ว
sleske

คำตอบ:


16

WIKI เหมาะสมกับการจัดเก็บเอกสารเพื่อการพัฒนาซอฟต์แวร์หรือไม่?

แทนที่จะเขียนเอกสาร PDF และไฟล์ประเภทอื่นทำไมคุณไม่ปล่อยศักยภาพที่เต็มเปี่ยมของ WIKI เป็นเครื่องมือการทำงานร่วมกัน? คุณสามารถเขียนเอกสารของคุณที่นั่นแนบไดอะแกรมของคุณและดียิ่งขึ้น: ถ้าคุณใช้Fitnesseคุณสามารถเปลี่ยนหน้า wiki ของคุณให้กลายเป็นเอกสารที่มีประโยชน์และมีชีวิตได้

ทุกคนรู้ว่าการพัฒนาซอฟต์แวร์ที่มีเอกสารที่ดีจะนำไปสู่ความสำเร็จ

ระวังตัวนี้ เอกสารจะไม่นำไปสู่ความสำเร็จเนื่องจากจะไม่เปลี่ยนรหัสอึให้เป็นรหัสที่ดี แต่เอกสารเป็นส่วนหนึ่งของวิธีการสู่ซอฟต์แวร์ที่ประสบความสำเร็จ แต่เป็นเพียงส่วนหนึ่งและพวกเขาจะไม่เปลี่ยนแนวปฏิบัติที่ดีและคนดี


8

เนื่องจากคำตอบหลายข้อชี้ไปที่ Trac เป็นข้อเสนอแนะฉันต้องการแนะนำสิ่งที่คล้ายกัน แต่ดีกว่าในความเห็นของฉันทางเลือก: Redmine Redmine

Redmine เป็นโซลูชันการจัดการโครงการซึ่งรวมถึง Wiki, Document Repository และการรวมการควบคุมเวอร์ชัน มันเขียนด้วย Ruby on Rails และวิธีที่จะขยายและแฮ็คได้ง่ายกว่า Trac ในประสบการณ์ของฉัน

มากกว่าทุกสิ่งมันใช้งานง่ายมากและง่ายต่อการทำให้ทีมใช้งาน

คุณสมบัติ:

  • สนับสนุนหลายโครงการ
  • การควบคุมการเข้าถึงตามบทบาทที่ยืดหยุ่น
  • ระบบติดตามปัญหาที่ยืดหยุ่น
  • แผนภูมิแกนต์และปฏิทิน
  • การจัดการข่าวสารเอกสารและไฟล์
  • ฟีดและการแจ้งเตือนทางอีเมล
  • ต่อโครงการวิกิ
  • ต่อฟอรัมโครงการ
  • ติดตามเวลา
  • ฟิลด์ที่กำหนดเองสำหรับปัญหารายการเวลาโครงการและผู้ใช้
  • การรวม SCM (SVN, CVS, Git, Mercurial, Bazaar และ Darcs)
  • การสร้างปัญหาผ่านทางอีเมล
  • รองรับการตรวจสอบสิทธิ์ LDAP หลายรายการ
  • สนับสนุนการลงทะเบียนด้วยตนเองของผู้ใช้
  • รองรับหลายภาษา
  • รองรับหลายฐานข้อมูล

สำหรับคุณที่ต้องการออฟไลน์ฉันไม่ชอบความคิดในการควบคุมเวอร์ชันที่ยุ่งเหยิงด้วยเอกสารการออกแบบ ฉันแน่ใจว่าคุณมีเหตุผลที่ถามสิ่งนี้ แต่จริงๆแล้วคุณออฟไลน์อยู่บ่อยครั้งและต้องการเข้าถึงเอกสารการออกแบบหรือไม่ โอกาสนี้เป็นกรณีมุมจริง ๆ


+1 ฉันใช้ Redmine ในที่ทำงานและเป็นระบบที่ยอดเยี่ยมจริงๆ
Luiz Damim

5

วิกิบางตัว (เช่นIkiwiki ) มีความสามารถในการจัดเก็บข้อมูลของพวกเขาใน Git ตามที่คุณกล่าวถึง ระบุว่าคุณสามารถลิงก์เอกสารเป็นsubmodule Gitภายใต้แหล่งเก็บข้อมูลปกติของคุณ

ด้วยการตั้งค่าข้างต้นการดึงแหล่งที่มาและการปรับปรุง submodules จะดึงสำเนาเอกสารล่าสุด ออฟไลน์คุณสามารถแก้ไขแต่ละรายการได้ตามต้องการ เมื่อคุณกลับไปที่เครือข่ายทั้งสองสามารถถูกผลักกลับไปยังตำแหน่งที่คุณแชร์ได้

ส่วนที่น่าอึดอัดใจคือเมื่อใดก็ตามที่มีการอัปเดตเอกสาร (แม้จะผ่านเว็บอินเตอร์เฟสของ Ikiwiki) คุณจะต้องอัปเดต submodule ที่เกี่ยวข้องในแหล่งเก็บข้อมูล Git อย่างไรก็ตามสิ่งนี้อาจเป็นอัตโนมัติได้อย่างง่ายดาย


น่าสนใจ มีความแตกต่างระหว่างการวางเอกสารในที่เก็บ git และการจัดเก็บเอกสารผ่าน ikiwiki หรือไม่?
Edison Chuang

1
@Edison Chuang: ไม่ก็ไม่มี ในความเป็นจริงเมื่อได้รับการโคลนของที่เก็บ ikiwiki คุณสามารถแก้ไขหน้าโดยใช้โปรแกรมแก้ไขข้อความที่คุณเลือกได้ (คุณไม่ต้องใช้ช่องป้อนข้อความบนเบราว์เซอร์เส็งเคร็ง) คุณสามารถมีวิกิแขนงต่าง ๆ เพื่อเก็บสแน็ปช็อตของเอกสารเก่าหรืออะไรก็ตาม
Greg Hewgill

ดูเหมือนว่าเอกสารจะถูกเก็บไว้ในระบบควบคุมเวอร์ชันโดยไม่มีปัญหาแม้ไฟล์ไบนารี นักพัฒนาสามารถใช้เครื่องมือเช่น ikiwiki เพื่อแปลงหน้า wiki เป็นหน้า HTML ได้ตามต้องการ
Edison Chuang

+1 สำหรับเครื่องยนต์ Wiki ของ Ikiwiki; เครื่องยนต์วิกิพีเดีย Hattaเป็นความคิดที่คล้ายกันสำหรับเก็บ Mercurial
David Cary

ISTR Fitnesse ยังเก็บหน้า wiki เป็นไฟล์ข้อความด้วยดังนั้นจึงสามารถเก็บไว้ในระบบควบคุมเวอร์ชันของคุณได้หากคุณต้องการ ในขณะที่จุดประสงค์หลักของมันคือการทดสอบไม่มีเหตุผลที่จะไม่ใช้มันเป็นระบบวิกิทั่วไปสำหรับเอกสารของคุณ
จูลส์

4

เหมาะสมที่จะเก็บเอกสารในที่เก็บเดียวกันกับซอร์สโค้ด สฟิงซ์ดูเหมือนจะเป็นตัวเลือกที่ดีสำหรับฉัน

  • มันต้องใช้เวลาreStructuredTextไฟล์เป็นอินพุตซึ่งง่ายต่อการแก้ไขและกระจาย
  • มันสร้างผลลัพธ์เชื่อมโยงหลายมิติ (HTML, PDF, ... )
  • คุณสามารถอ้างอิงซอร์สโค้ดของคุณ (Python, C, C ++, JavaScript)

2

Trac ให้ส่วนต่อประสานกับ Subversion ซึ่งเป็น Wiki แบบรวมและเครื่องมืออำนวยความสะดวกสำหรับการรายงานที่สะดวก http://trac.edgewall.org/
แต่ฉันไม่รู้เกี่ยวกับสแต็คที่ติดตั้งของคุณ


และอินเทอร์เฟซที่ดีสำหรับ Mercurial และสามารถแฮ็กได้อย่างเด่นชัด
Frank Shearar

0

ฉันจะไม่พยายามปฏิบัติงานออฟไลน์ ฉันจะใช้ทรัพยากรที่ทำให้การทำงานกับทุกคนง่ายที่สุด ตัวอย่างเช่นถ้าคุณเขียนโค้ด PHP ผมจะแนะนำให้ใช้เอกสารแบบอินไลน์ที่สามารถสร้างขึ้นโดยPHPDocumentor มันสามารถสร้างขึ้นได้ทุกที่และมีปลั๊กอินสำหรับ Trac ไม่ว่าจะออนไลน์หรือออฟไลน์คุณก็สามารถเข้าถึงเอกสารได้อย่างรวดเร็วเช่นกัน

กุญแจสำคัญคือเกี่ยวกับการใช้งาน หากยากต่อการบำรุงรักษาก็จะเริ่มประสบ เมื่อเริ่มประสบปัญหาคุณภาพเอกสารจะลดลง เมื่อสิ่งนั้นเกิดขึ้นผู้คนเริ่มบ่นแล้วทุกอย่างก็ตกต่ำ


-1

การใช้วิกิเพื่อจัดเก็บเอกสารทำให้ฉันมีความรู้สึกเป็นอย่างมาก

ความจริงคือตัวอย่างของ DVCS ที่อนุญาตการรวมเนื้อหา wiki และซอร์สโค้ดที่เข้มงวดมากขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.