คำถามติดแท็ก documentation

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

20
คุณควรเขียนเอกสารที่ดีและรหัสสะอาดเพื่อเพิ่ม "Bus Factor" หรือไม่?
หนึ่งในเป้าหมายหลักของ บริษัท พัฒนาซอฟแวร์คือการเพิ่มของพวกเขาปัจจัย Busนี้จะยังสนับสนุนในการพูดคุยที่ถูกจัดขึ้นโดย Google นั่นหมายความว่าคุณควรเขียนโค้ดและจัดทำเอกสารทุกอย่างในแบบที่หากคุณใช้รถบัสในวันพรุ่งนี้โครงการก็ยังสามารถดำเนินต่อไปได้ กล่าวอีกนัยหนึ่งคุณควรทำให้โปรแกรมเมอร์ตัวอื่นสามารถเปลี่ยนได้อย่างง่ายดายด้วยทักษะที่คล้ายคลึงกับที่คุณตั้งไว้ การทำซ้ำได้นั้นไม่ได้ขัดกับความสนใจของนักพัฒนาหรือไม่? ในหนังสือกฎหมาย 48 ฉบับของกฎอำนาจ 11 ระบุว่าคุณควรพยายามให้ผู้คนพึ่งพาคุณเพื่อให้ได้มาซึ่งอำนาจซึ่งแปลเป็นรางวัลทางการเงิน นอกเหนือจากสถานการณ์สมมติที่คุณต้องการเอกสารประกอบสำหรับตัวคุณเองเพื่อดำเนินการโครงการหลังจากหยุดไป 6 เดือนดูเหมือนว่ามีความขัดแย้งทางผลประโยชน์ที่ชัดเจนระหว่างผู้พัฒนาและ บริษัท ซอฟต์แวร์ ดังนั้นในฐานะโปรแกรมเมอร์คุณควรเขียนเอกสารที่ยอดเยี่ยมและอ่านรหัสได้ง่ายสำหรับทุกคน หรือคุณควรเขียนรหัสและเอกสารในลักษณะที่ทำงานและตัวคุณเองสามารถเข้าใจได้ แต่คนอื่นอาจมีปัญหาในการทำความเข้าใจ?

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

7
คุณติดตามชั้นเรียนและฟังก์ชั่นที่ทีมของคุณเขียนไว้ได้อย่างไร?
เมื่อทำงานกับโค้ดฉันต้องเผชิญกับความท้าทายหลายอย่างที่เพื่อนร่วมทีมของฉันทำและฉันได้เขียนฟังก์ชั่นและชั้นเรียนที่มีประโยชน์ หากมีการสื่อสารที่ดีฉันจะได้ยินเกี่ยวกับสิ่งที่ยอดเยี่ยมที่ใครบางคนรวบรวมไว้และอีกหกเดือนต่อมาเมื่อฉันต้องการฉันอาจจำได้และเรียกใช้ฟังก์ชันนั้นประหยัดเวลา หากฉันจำไม่ได้หรือไม่เคยรู้เรื่องนี้ฉันอาจจะประดิษฐ์วงล้อขึ้นใหม่ มีวิธีปฏิบัติที่เฉพาะเจาะจงในการบันทึกสิ่งเหล่านี้หรือไม่? คุณทำให้พวกมันหาง่ายได้อย่างไร? หากทีมของคุณไม่มีเอกสารดังกล่าวคุณจะรู้ได้อย่างไรว่าล้อของคุณมีอยู่แล้ว? แก้ไข: ทั้งหมด แต่หนึ่งในคำตอบที่เกี่ยวข้องกับสถานการณ์ในอุดมคติดังนั้นขอสรุปการแก้ปัญหาเหล่านั้น: เอกสาร & การสื่อสาร; wikis, stand-up meetings เป็นต้นสิ่งเหล่านี้ล้วน แต่เป็นสิ่งที่ยอดเยี่ยม แต่พวกเขาต้องพึ่งพาโปรแกรมเมอร์ที่มีเวลา (และทักษะ) ในการเขียนเอกสารและเข้าร่วมการประชุมและจดบันทึกและจดจำทุกสิ่ง คำตอบที่ได้รับความนิยมมากที่สุดจนถึงปัจจุบัน (Caleb's) เป็นคำตอบเดียวที่โปรแกรมเมอร์สามารถใช้งานได้ซึ่งไม่สามารถจัดทำเอกสารและการประชุมได้ การเขียนโปรแกรมเป็นสิ่งที่โปรแกรมเมอร์ทำและใช่โปรแกรมเมอร์ที่ยอดเยี่ยมสามารถเขียนเอกสารประกอบการทดสอบหน่วย ฯลฯ แต่มาดูกัน - พวกเราส่วนใหญ่ชอบเขียนโปรแกรมเพื่อจัดทำเอกสาร วิธีแก้ปัญหาของเขาคือที่โปรแกรมเมอร์จำรหัสที่ใช้ซ้ำได้และดึงมันออกไปยังคลาสหรือพื้นที่เก็บข้อมูลของตัวเองหรืออะไรก็ตามและโดยความจริงที่ว่ามันถูกแยกออกมันจะกลายเป็นความสามารถในการเรียนรู้ . และนี่คือความสำเร็จโดยการเขียนโปรแกรม ในแบบที่ฉันเห็นมันเป็นแบบนี้: ฉันเพิ่งเขียนสามหน้าที่และมันเกิดขึ้นกับฉันที่คนอื่นควรรู้เกี่ยวกับพวกเขา ฉันสามารถจัดทำเอกสารเขียนบันทึกประกาศในที่ประชุม ฯลฯ - ซึ่งฉันทำได้ แต่ไม่ใช่จุดแข็งของฉัน - หรือ .... ฉันสามารถแยกพวกเขาออกจากชั้นเรียนตั้งชื่อให้ดีทำให้พวกเขาทำงานได้ กล่องดำและติดไว้ที่ไฟล์คลาสอื่น ๆ จากนั้นอีเมลสั้น ๆ ประกาศว่าเป็นเรื่องง่าย นักพัฒนาซอฟต์แวร์คนอื่นสามารถสแกนโค้ดและเข้าใจได้ดีกว่าฟังก์ชั่นแยกที่ใช้ในโค้ดที่พวกเขาไม่เข้าใจ - บริบทนั้นจะถูกลบ …

6
“ ฉัน”,“ เรา”, หรือไม่อยู่ในเอกสารรหัส
ฉันพบว่าตัวเองเขียน (หวังว่า) ความคิดเห็นที่เป็นประโยชน์ในรหัส (C ++) เอกสารประเภท: The reason we are doing this is... เหตุผลที่ฉันใช้ "พวกเรา" แทนที่จะเป็น "ฉัน" ก็เพราะฉันเขียนบทความเชิงวิชาการจำนวนมากซึ่งบ่อยครั้งที่ "เรา" ชอบ ดังนั้นนี่คือคำถาม มีเหตุผลที่ดีที่จะเลือกใช้รหัสอื่นในรหัสเอกสารหรือไม่: ใช้ "เรา":เหตุผลที่เราทำเช่นนี้คือ ... ใช้ "ฉัน":เหตุผลที่ฉันทำสิ่งนี้คือ ... ใช้ชื่อของฉัน:เหตุผล[my name]นี้คือ ... เสียงไม่โต้ตอบ:เหตุผลที่ทำเช่นนี้คือ ... ไม่:ทำอย่างนี้เพราะ ... ฉันเลือก # 1 เพราะฉันคุ้นเคยกับการเขียนด้วยวิธีนี้ แต่เอกสารไม่ใช่สำหรับนักเขียน แต่สำหรับผู้อ่านดังนั้นฉันจึงสงสัยว่าการเพิ่มชื่อนักพัฒนาซอฟต์แวร์นั้นมีประโยชน์หรือไม่ จะมีการเปลี่ยนแปลงเมื่อรักษารหัส

12
เอกสารใน OOP ควรหลีกเลี่ยงการระบุว่า“ ผู้ได้รับ” ทำการคำนวณใด ๆ หรือไม่?
โปรแกรม CS ของโรงเรียนของฉันหลีกเลี่ยงการกล่าวถึงการเขียนโปรแกรมเชิงวัตถุดังนั้นฉันจึงต้องอ่านด้วยตัวเองเพื่อเสริม - โดยเฉพาะการสร้างซอฟต์แวร์เชิงวัตถุโดย Bertrand Meyer เมเยอร์ชี้ให้เห็นซ้ำ ๆ ว่าคลาสควรซ่อนข้อมูลเกี่ยวกับการนำไปปฏิบัติให้มากที่สุดเท่าที่จะทำได้ โดยเฉพาะเขาให้เหตุผลซ้ำ ๆ ว่าแอตทริบิวต์ (เช่นคุณสมบัติแบบคงที่และไม่คำนวณของคลาส) และรูทีน (คุณสมบัติของคลาสที่สอดคล้องกับการเรียกใช้ฟังก์ชัน / โพรซีเดอร์) ไม่สามารถแยกกันได้ ตัวอย่างเช่นถ้าคลาสPersonมีคุณสมบัติageเขายืนยันว่ามันเป็นไปไม่ได้ที่จะบอกจากสัญลักษณ์ไม่ว่าจะPerson.ageสอดคล้องภายในกับสิ่งที่ชอบreturn current_year - self.birth_dateหรือเรียบง่ายreturn self.ageที่self.ageได้รับการกำหนดเป็นแอตทริบิวต์คงที่ เรื่องนี้ทำให้รู้สึกถึงฉัน อย่างไรก็ตามเขายังคงเรียกร้องต่อไปนี้: เอกสารไคลเอนต์มาตรฐานสำหรับคลาสที่เรียกว่ารูปแบบสั้น ๆ ของคลาสจะถูกคิดขึ้นใหม่เพื่อไม่ให้เปิดเผยว่าคุณลักษณะที่กำหนดเป็นคุณลักษณะหรือฟังก์ชัน (ในกรณีที่อาจเป็นได้) กล่าวคือเขาอ้างว่าแม้แต่เอกสารสำหรับชั้นเรียนควรหลีกเลี่ยงการระบุว่า "ผู้เอา" ทำการคำนวณใด ๆ นี่ฉันไม่ทำตาม เอกสารไม่ใช่ที่เดียวที่ควรแจ้งให้ผู้ใช้ทราบถึงความแตกต่างนี้หรือไม่ ถ้าฉันต้องออกแบบฐานข้อมูลที่เต็มไปด้วยPersonวัตถุมันจะไม่สำคัญที่จะรู้ว่าPerson.ageการโทรที่มีราคาแพงหรือไม่ดังนั้นฉันจึงสามารถตัดสินใจได้ว่าจะใช้แคชบางประเภทหรือไม่ ฉันเข้าใจผิดในสิ่งที่เขาพูดหรือเขาเป็นเพียงตัวอย่างที่ยอดเยี่ยมที่สุดของปรัชญาการออกแบบ OOP หรือไม่?

2
ความแตกต่างระหว่างข้อกำหนดทางเทคนิคและเอกสารการออกแบบคืออะไร?
ข้อกำหนดทางเทคนิคคืออะไร? พวกเขาเหมือนกับเอกสารการออกแบบหรือไม่ ถ้าไม่แตกต่างกันและมีตัวอย่างอะไรบ้าง?

6
รูปแบบสเปรดชีตที่เป็นมิตรกับ Git? [ปิด]
เรากำลังพยายามย้ายกระบวนการเอกสารโครงการของเราจาก Google เอกสารไปยังชุดของที่เก็บ Git ที่โฮสต์ด้วยตนเอง เอกสารข้อความนั้นง่ายต่อการคอมไพล์เนื่องจากเรามักไม่ต้องการการจัดรูปแบบแฟนซีเราจะแปลงทุกอย่างเป็นพูดคำสั่งย่อยด้วยตัวเลือกเพื่อฝัง LaTeX สำหรับกรณีที่ซับซ้อน แต่สเปรดชีตเป็นเรื่องที่แตกต่างกันมาก ... มีรูปแบบสเปรดชีต (- เหมือน) ที่เป็นมิตรกับระบบควบคุมเวอร์ชัน (และยิ่งกว่านั้นคือมนุษย์สามารถอ่านได้เหมือนกับ Markdown)? "รูปแบบที่เป็นมิตร": Git ทำงานได้ดีกับรูปแบบ ( ไม่ใช้ XML) และสร้างความแตกต่างที่มนุษย์สามารถอ่านได้ ( การกำหนดค่าเพิ่มเติมที่เกี่ยวข้องกับเครื่องมือภายนอกนั้นใช้ได้) เห็นได้ชัดว่ารสชาติ Markdown อนุญาตให้สร้างตารางแบบคงที่ แต่ฉันต้องการที่จะใช้สิ่งต่าง ๆ เช่นSUM()ฯลฯ ... (โปรดทราบว่า CSV มีปัญหาเดียวกัน) ไม่มี WYSIWYG เป็นไร แต่การสนับสนุนเครื่องมือแก้ไข / เครื่องมือที่ดีจะเป็น ดี โปรดอัพเดท: คำตอบที่เป็นมิตรกับ Linux เท่านั้น ไม่มี MS Office

9
คนที่ไม่ใช่ด้านไอทีสามารถจัดการกับวิกิได้หรือไม่ [ปิด]
บริษัท ของฉันต้องการปรับปรุงการจัดการข้อมูลการวิจัยตลาดของพวกเขา รูปแบบการจัดการข้อมูลปัจจุบัน: "เฮ้จิมโบภาพของ WhatZit 2.0 ของเราอยู่ตรงไหน? "ใช่ฉันจำอีเมลนั้นเกี่ยวกับ บริษัท นั้นจากคนนั้นได้ไม่กี่นาทีเพื่อค้นหา Outlook ของฉัน" "ใครมีสำเนาล่าสุดของแคตตาล็อกผลิตภัณฑ์ของคู่แข่งที่สำคัญ? Mine มาจากปี 2009" ... "คอลลีนทำและเธอลาคลอดคุณจะต้องโทรหาเธอเพื่อขอรหัสผ่านเวิร์กสเตชันของเธอ ... " สไตล์การจัดการข้อมูลที่ต้องการ: ข้อมูลถูกจัดระเบียบอย่างเป็นระเบียบตามหัวข้อ (กฎหมาย, เศรษฐกิจ, อุตสาหกรรม, คู่แข่ง) สำหรับแต่ละหัวข้อสื่อหลายประเภทจัดเก็บไว้ด้วยกัน (ภาพผลิตภัณฑ์ของ บริษัท , ข่าวประชาสัมพันธ์, ข้อมูลการติดต่อ) แต่ก็ยังจัดเรียงตามประเภทอย่างเรียบร้อย ประวัติการแก้ไขข้อมูล การเข้าถึงชุมชน (ไม่มีไซโลข้อมูล) ฉันคิดถึงการตั้งค่าแผนก wiki เพื่อให้ผู้ใช้ทุกคนสามารถเข้าถึงได้ ดูเหมือนว่าจะตอบสนองเกณฑ์สี่ข้อด้านบน แต่ฉันกังวลเล็กน้อยเกี่ยวกับการใช้งานง่าย (อ่าน: ถอดรหัสได้กับคนที่ไม่ใช่ด้านเทคนิค) สำหรับคุณสมบัติขั้นสูงเพิ่มเติมเช่นแกลเลอรีภาพการจัดรูปแบบบทความและสิ่งที่คล้ายกัน มีใครที่นี่ตั้งค่า wiki สำหรับผู้ที่ไม่ใช่ฝ่ายไอทีและไม่ติดไฟกลายเป็นเมืองผีหรือมีลักษณะเหมือน Geocities คำถามโบนัส: คุณเห็นข้อบกพร่องที่ชัดเจนสำหรับการเลือก …

6
ระเบียบวิธีสำหรับการบันทึกรหัสฐานที่มีอยู่
ฉันทำงานเป็นส่วนหนึ่งของทีมในแอปพลิเคชันที่มีอยู่ซึ่งไม่มีเอกสารแบบอินไลน์หรือไม่มีเอกสารทางเทคนิค ในขณะที่ฉันกำลังทำงานกับรายงานข้อผิดพลาดต่าง ๆ ในแอปพลิเคชันฉันได้เขียนเส้นทางการค้นหาเส้นทางสำหรับตัวเอง - หมายเลขข้อผิดพลาดในสถานที่ต่าง ๆ เพื่อให้ผู้พัฒนารายต่อไปสามารถอ้างถึงหมายเลขข้อบกพร่องนั้นเพื่อดูว่าเกิดอะไรขึ้น คำถามของฉันคือ: วิธีที่มีประสิทธิภาพที่สุดสำหรับการบันทึกรหัสนี้คืออะไร? ฉันควรจัดทำเอกสารตามที่ฉันสัมผัสพื้นที่ (วิธีไวรัสถ้าคุณจะ) หรือฉันควรเอกสารจากแต่ละส่วนด้วยตนเองและไม่ปฏิบัติตามเส้นทางที่สาขาออกไปยังพื้นที่อื่น ๆ ของใบสมัคร? ฉันควรแทรกความคิดเห็นแบบอินไลน์ที่ไม่มีใครอยู่ก่อนหน้านี้ (ด้วยความกลัวว่าฉันอาจลงเอยด้วยการระบุสิ่งที่รหัสไม่ถูกต้อง) คุณจะใช้วิธีการอย่างไรในการจัดทำเอกสารของแอปพลิเคชั่นที่มีขนาดค่อนข้างใหญ่อย่างถูกต้องและรวดเร็วซึ่งไม่มีเอกสารแบบอินไลน์อยู่หรือการอ้างอิงแบบอินไลน์ไปยังเอกสารภายนอก

3
สิ่งกีดขวางบนถนนเผชิญกับกระบวนการพัฒนาในการใช้ภาษามาร์กอัปข้อความธรรมดาซึ่งตรงกันข้ามกับเช่น Microsoft Word [ปิด]
ขณะนี้ฉันฝึกงานที่ผู้รับเหมาของรัฐบาลและฉันรู้สึกว่า (Word เป็นมาตรฐานจริงในกระบวนการพัฒนาซอฟต์แวร์) รูปแบบไบนารีของมันทำให้ยากมากที่จะทำงานร่วมกันในเอกสารในแบบที่ฉันคุ้นเคยกับการทำงานร่วมกันบนฐานรหัส การใช้มาร์กอัปข้อความธรรมดา (ที่มีภาษาเช่น LaTeX, Markdown, ReStructured Text ฯลฯ ) ช่วยให้เอกสารที่เป็นมิตรแตกต่างที่ทำงานได้ดีกับเวิร์กโฟลว์ปกติของนักพัฒนา ในฐานะที่เป็นสำหรับความคิดเห็นที่ภาษาไม่สนับสนุนพวกเขา (เช่น Markdown) มีโซลูชั่นที่มีอยู่มากมายที่ช่วยให้การแสดงความคิดเห็นร่วมกันบนฐานรหัส (เช่น GitHub, Bitbucket) ที่สามารถได้อย่างง่ายดายนำไปใช้กับไฟล์ข้อความธรรมดาอื่น ๆ ที่มีมาร์กอัป ฉันเข้าใจความต้องการที่จะร่วมมือกับการจัดการที่ไม่รู้หนังสือเกี่ยวกับเทคโนโลยีจำเป็นต้องมีส่วนต่อประสานกราฟิกทุกอย่าง แต่ส่วนต่อประสานดังกล่าวมีอยู่สำหรับรูปแบบเหล่านี้ส่วนใหญ่ ตัวอย่างเช่น LaTeX มี 'fork' ของการเรียงลำดับที่เรียกว่า LyX ที่ทำให้ front-end แบบกราฟิกเป็นข้อความธรรมดา, LaTeX-syntax ไฟล์นี้แม้จะเป็นกราฟิกในการแก้ไขเป็นหลัก แต่ก็ยังเป็นมิตร (นอกจากนี้ยังมีความคิดเห็นสไตล์ Word) โซลูชันเหล่านี้จำนวนมากยังไม่สามารถใช้แทน Word ได้และส่วนใหญ่เป็นฟรีหรือโอเพ่นซอร์ส อย่างไรก็ตามเราใช้ Word แม้สำหรับเอกสารภายในของเราที่ไม่มีใครเห็น เราทำงานกับข้อความเพื่อแสดงถึงอาชีพที่สำคัญของเรา --- ทำไมเอกสารถึงพิเศษมาก? นอกเหนือจากเรื่องเล็กน้อย "เราไม่รู้อะไรดีกว่าและตอนนี้เราติดอยู่ที่นี่" …

3
ต้นกำเนิดของ“ Readme”
ผู้คนเริ่มเขียนไฟล์ Readme เมื่อใด ดูเหมือนว่าทุกโปรแกรมมีไฟล์นี้โดยไม่คำนึงถึงรูปแบบ มีการใช้เอกสารครั้งแรกของเอกสารนี้หรือไม่?

2
วิธีการทำเอกสารสำหรับรหัสและทำไมซอฟต์แวร์ (มักจะ) เอกสารไม่ดี?
มีตัวอย่างที่ดีของรหัสที่มีเอกสารที่ดีเช่น java api แต่รหัสจำนวนมากในโครงการสาธารณะเช่นโครงการคอมไพล์และโครงการภายในของ บริษัท นั้นได้รับการบันทึกไว้ไม่ดีและไม่เป็นมิตรกับผู้มาใหม่ ในการ จำกัด การพัฒนาซอฟต์แวร์ทั้งหมดของฉันฉันต้องจัดการกับรหัสที่มีเอกสารไม่ดี ฉันสังเกตเห็นสิ่งต่าง ๆ ต่อไปนี้ - ความคิดเห็นน้อยหรือไม่มีเลยในรหัส ชื่อเมธอดและตัวแปรไม่ได้อธิบายตัวเอง มีเอกสารเพียงเล็กน้อยหรือไม่มีเลยว่าโค้ดเข้ากับระบบหรือกระบวนการทางธุรกิจได้อย่างไร จ้างนักพัฒนาที่ไม่ดีหรือไม่ให้คำปรึกษากับคนที่ดี พวกเขาไม่สามารถเขียนโค้ดที่ง่ายและสะอาดได้ ดังนั้นจึงเป็นเรื่องยากหรือเป็นไปไม่ได้สำหรับทุกคนรวมถึงผู้พัฒนาที่จะจัดทำเอกสารรหัส เป็นผลให้ฉันต้องผ่านรหัสจำนวนมากและพูดคุยกับคนจำนวนมากเพื่อเรียนรู้สิ่งต่าง ๆ ฉันรู้สึกว่านี่เป็นการเสียเวลาของทุกคน นอกจากนี้ยังสร้างความต้องการเซสชันการถ่ายโอน KT / ความรู้สำหรับผู้มาใหม่ไปยังโครงการ ฉันได้เรียนรู้ว่าเอกสารไม่ได้รับความสนใจเนื่องจากมีเหตุผลดังต่อไปนี้: ความเกียจคร้าน นักพัฒนาไม่ต้องการทำอะไรนอกจากรหัส งานรักษาความปลอดภัย. (หากไม่มีใครสามารถเข้าใจรหัสของคุณได้อย่างง่ายดายคุณอาจไม่สามารถเปลี่ยนได้อย่างง่ายดาย) กำหนดเวลาที่ยากลำบากทำให้เสียเวลาเล็กน้อยในการจัดทำเอกสาร ดังนั้นฉันสงสัยว่าจะมีวิธีการส่งเสริมและบังคับใช้แนวทางปฏิบัติด้านเอกสารที่ดีใน บริษัท หรือโครงการหรือไม่ กลยุทธ์ที่จะใช้ในการสร้างเอกสารที่เหมาะสมสำหรับระบบและรหัสของโครงการใด ๆ โดยไม่คำนึงถึงความซับซ้อนของมันคืออะไร? มีตัวอย่างที่ดีหรือไม่เมื่อจำเป็นต้องใช้เอกสารน้อยที่สุดหรือไม่ IMHO ฉันรู้สึกว่าเราควรมีการตรวจสอบเอกสารหลังจากส่งมอบโครงการแล้ว หากไม่ใช่เรื่องง่ายกระชับเป็นตัวอย่างและเป็นมิตรต่อผู้ใช้วิศวกรหรือนักพัฒนาเอกสารด้านเทคนิคจะเป็นผู้รับผิดชอบและทำการแก้ไข ฉันไม่คาดหวังว่าผู้คนจะทำเอกสารรีมไม่หวังว่ามันจะเป็นมิตรกับผู้ใช้เหมือนกับหนังสือเล่มแรก แต่ฉันหวังว่ามันจะช่วยลดความจำเป็นในการวิเคราะห์ชั่วโมงและช่วงเวลา KT ที่สิ้นเปลือง มีวิธีที่จะจบหรือบรรเทาความบ้าคลั่งนี้หรือไม่? "การพัฒนาเอกสารขับเคลื่อน" อาจจะ?

5
ออกแบบเอกสารโดยเป็นส่วนหนึ่งของ Agile
ที่ทำงานของฉันเราเผชิญกับความท้าทายใน "เปรียว" บ่อยเกินไปที่มีความหมาย "ข้อกำหนดที่คลุมเครือเกณฑ์การยอมรับที่ไม่ดีโชคดี!" เราพยายามที่จะแก้ไขปัญหาดังกล่าวเพื่อเป็นการปรับปรุงทั่วไป ดังนั้นเป็นส่วนหนึ่งของเรื่องนั้นฉันขอเสนอให้เราสร้างเอกสารการออกแบบที่สะท้อนถึงผลของการสืบสวนเบื้องต้นเกี่ยวกับผลกระทบของฟีเจอร์ที่กำหนดภายในระบบและรวมถึงคำตอบสำหรับคำถามที่เรามี ถามธุรกิจ มีมาตรฐานที่มีประสิทธิภาพสำหรับสิ่งนี้หรือไม่? ขณะนี้เรากำลังเผชิญกับสถานการณ์ที่ฟีเจอร์ใหม่อาจส่งผลกระทบต่อหลาย ๆ พื้นที่ในระบบ"โคลนก้อนใหญ่"ของเราและการคาดการณ์เริ่มขึ้นเนื่องจากหนี้ทางเทคนิคนี้ หวังว่ากระบวนการออกแบบที่รอบคอบจะช่วยได้มากขึ้น

4
BDD เขียนได้จริง ๆ โดยผู้ที่ไม่ใช่โปรแกรมเมอร์หรือไม่?
การพัฒนาพฤติกรรมที่ขับเคลื่อนด้วยสัญลักษณ์ของสถานการณ์“ ที่ได้รับเมื่อนั้น” ได้รับการเน้นย้ำอย่างมากสำหรับการใช้ที่เป็นไปได้ในฐานะวัตถุขอบเขตสำหรับการประเมินการทำงานของซอฟต์แวร์ ฉันยอมรับอย่างแน่นอนว่าGherkinหรือสคริปต์การกำหนดคุณสมบัติที่คุณต้องการเป็นDSL ที่สามารถอ่านได้ทางธุรกิจและมอบคุณค่าเช่นนี้แล้ว อย่างไรก็ตามฉันไม่เห็นด้วยที่จะไม่สามารถเขียนโปรแกรมได้ (เช่นMartin Fowler ) ใครบ้างมีบัญชีของสถานการณ์ที่เขียนโดยไม่ใช่โปรแกรมเมอร์แล้ว instrumented โดยนักพัฒนา หากมีความเห็นพ้องต้องกันเกี่ยวกับการขาดความสามารถในการเขียนคุณจะเห็นปัญหากับเครื่องมือที่แทนที่จะเริ่มต้นด้วยสถานการณ์และการใช้เครื่องมือพวกเขาจะสร้างสถานการณ์ที่สามารถอ่านได้ทางธุรกิจจากการทดสอบจริงหรือไม่ อัปเดต:เกี่ยวกับเครื่องมือ“ ตัวสร้างสถานการณ์จำลอง” แน่นอนว่ามันจะไม่เดาภาษาธุรกิจอย่างน่าอัศจรรย์;) แต่เหมือนกับที่เราใช้ regexp matchers ในการสร้างแบบทดสอบจากบนลงล่าง (ในมิติที่เป็นนามธรรม) เราสามารถใช้ ผู้สร้างสตริงเพื่อสร้างสถานการณ์ในแนวทางจากล่างขึ้นบน ตัวอย่าง“ เพื่อให้ความคิดเท่านั้น”: Given I am on page ${test.currentPage.name} And I click on element ${test.currentAction.element} …

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

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