ทำไมเรายังคงฝังคำอธิบายภาษาธรรมชาติของรหัสที่มา (คือเหตุผลที่ว่าทำไมบรรทัดของรหัสที่ถูกเขียน) ภายในรหัสที่มามากกว่าที่จะเป็นเอกสารแยกต่างหาก?
เมื่อพิจารณาถึงอสังหาริมทรัพย์ที่กว้างขวางในสภาพแวดล้อมการพัฒนาที่ทันสมัย (จอภาพความละเอียดสูง, จอภาพสองจอ ฯลฯ ) IDE สามารถจัดทำพาเนลกึ่งล็อคขั้นตอนที่ซอร์สโค้ดแยกออกจากสายตา - แต่เชื่อมโยงกับ - ความคิดเห็นที่เกี่ยวข้อง ตัวอย่างเช่นนักพัฒนาสามารถเขียนความคิดเห็นซอร์สโค้ดในภาษามาร์กอัปที่เชื่อมโยงหลายมิติ (เชื่อมโยงกับข้อกำหนดของซอฟต์แวร์เพิ่มเติม) ซึ่งจะช่วยป้องกันเอกสารจากการทำให้ยุ่งเหยิงซอร์สโค้ด
ข้อบกพร่องอะไรที่จะยับยั้งกลไกการพัฒนาซอฟต์แวร์เช่นนี้?
การจำลองเพื่อช่วยชี้แจงคำถาม:
เมื่อเคอร์เซอร์อยู่ที่บรรทัดใดบรรทัดหนึ่งในซอร์สโค้ด (แสดงด้วยพื้นหลังสีน้ำเงินด้านบน) เอกสารที่สอดคล้องกับบรรทัดที่เคอร์เซอร์จะถูกเน้น (เช่นแตกต่างจากรายละเอียดอื่น ๆ ) ดังที่ระบุไว้ในคำถามเอกสารประกอบจะยังคงอยู่ในขั้นตอนการล็อคโดยมีซอร์สโค้ดขณะที่เคอร์เซอร์กระโดดข้ามซอร์สโค้ด ปุ่มลัดสามารถสลับระหว่าง "โหมดเอกสาร" และ "โหมดการพัฒนา"
ข้อดีที่เป็นไปได้ ได้แก่ :
- รหัสต้นฉบับเพิ่มเติมและเอกสารเพิ่มเติมบนหน้าจอพร้อมกัน
- ความสามารถในการแก้ไขเอกสารเป็นอิสระจากซอร์สโค้ด (โดยไม่คำนึงถึงภาษา?)
- เขียนเอกสารและซอร์สโค้ดขนานโดยไม่มีข้อขัดแย้งผสาน
- เอกสารไฮเปอร์ลิงก์แบบเรียลไทม์พร้อมการจัดรูปแบบข้อความที่เหนือกว่า
- การแปลด้วยเครื่องเสมือนจริงแบบเรียลไทม์เป็นภาษาธรรมชาติที่แตกต่างกัน
- รหัสทุกบรรทัดสามารถเชื่อมโยงอย่างชัดเจนกับงานความต้องการทางธุรกิจและอื่น ๆ
- เอกสารสามารถประทับเวลาโดยอัตโนมัติเมื่อเขียนโค้ดแต่ละบรรทัด (ตัวชี้วัด)
- การรวมไดอะแกรมสถาปัตยกรรมแบบไดนามิกรูปภาพเพื่ออธิบายความสัมพันธ์เป็นต้น
- เอกสารแหล่งเดียว (เช่นแท็กข้อมูลโค้ดสำหรับการรวมคู่มือผู้ใช้)
บันทึก:
- หน้าต่างเอกสารสามารถยุบได้
- เวิร์กโฟลว์สำหรับการดูหรือเปรียบเทียบไฟล์ต้นฉบับจะไม่ได้รับผลกระทบ
- วิธีการใช้งานเกิดขึ้นเป็นรายละเอียด; เอกสารอาจเป็น:
- เก็บไว้ที่ส่วนท้ายของไฟล์ต้นฉบับ;
- แบ่งออกเป็นสองไฟล์โดยการประชุม (
filename.c
,filename.c.doc
); หรือ - ขับเคลื่อนด้วยฐานข้อมูลอย่างสมบูรณ์
- โดยเอกสารเชื่อมโยงหลายมิติฉันหมายถึงการเชื่อมโยงไปยังแหล่งข้อมูลภายนอก (เช่น StackOverflow หรือ Wikipedia) และเอกสารภายใน (เช่นวิกิบนโดเมนย่อยที่สามารถอ้างอิงเอกสารข้อกำหนดทางธุรกิจข้าม) และไฟล์ต้นฉบับอื่น ๆ (คล้ายกับ JavaDocs)
หัวข้อที่เกี่ยวข้อง: ความเกลียดชังกับเอกสารในอุตสาหกรรมคืออะไร?
Gson()
วัตถุจะถูก instantiated ในความสัมพันธ์กับระดับ MainActivity หรือวิธีการที่เกี่ยวข้องในการแก้ปัญหาความต้องการทางธุรกิจโดยเฉพาะอย่างยิ่ง การอธิบายโค้ดเองแทนที่จะเป็น API ที่ใช้อาจอยู่ในหน้าต่างแยกต่างหากโดยแยกต่างหากจาก JavaDocs ของบุคคลที่สาม