การบันทึกรหัสฐานแบบดั้งเดิม
ฉันขอแนะนำให้ปฏิบัติตามกฎของหน่วยสอดแนมที่มีรหัสดั้งเดิม การพยายามจัดทำเอกสารโครงการมรดกโดยไม่ขึ้นกับการดำเนินการจะไม่เกิดขึ้น
เอกสารในรหัส
สิ่งที่สำคัญที่สุดคือการใช้สิ่งอำนวยความสะดวกเอกสารในสภาพแวดล้อมการพัฒนาที่คุณเลือกดังนั้นนั่นหมายถึงpydocสำหรับ python, javadocในความคิดเห็น java หรือxmlใน C # สิ่งนี้ทำให้ง่ายต่อการเขียนเอกสารในเวลาเดียวกันกับการเขียนรหัส
หากคุณพึ่งพาการกลับมาและจัดทำเอกสารต่าง ๆ ในภายหลังคุณอาจไม่ได้รับมัน แต่ถ้าคุณทำตามที่คุณเขียนรหัสแล้วสิ่งที่จำเป็นต้องได้รับการจัดทำเป็นเอกสารจะสดใหม่ในใจของคุณ C # มีตัวเลือกในการออกคำเตือนการรวบรวมหากเอกสาร XML ไม่สมบูรณ์หรือไม่สอดคล้องกับรหัสจริง
ทดสอบเป็นเอกสาร
อีกด้านที่สำคัญคือมีการรวมที่ดีและการทดสอบหน่วย
บ่อยครั้งที่เอกสารประกอบจะมุ่งเน้นไปที่คลาสและวิธีการที่แยกออกจากกันโดยข้ามวิธีการใช้ร่วมกันเพื่อแก้ไขปัญหาของคุณ การทดสอบมักจะนำสิ่งเหล่านี้เข้ามาในบริบทโดยแสดงให้เห็นว่าพวกเขามีปฏิสัมพันธ์กันอย่างไร
ในทำนองเดียวกันการทดสอบหน่วยมักจะชี้ให้เห็นการพึ่งพาภายนอกอย่างชัดเจนผ่านซึ่งสิ่งที่จะต้องมีการจำลอง ed ออก
ฉันยังพบว่าการใช้การพัฒนาที่ขับเคลื่อนด้วยการทดสอบฉันเขียนซอฟต์แวร์ที่ใช้งานง่ายกว่าเพราะฉันใช้มันตั้งแต่เริ่มแรก ด้วยกรอบการทดสอบที่ดีทำให้การทดสอบโค้ดง่ายขึ้นและทำให้ใช้งานง่ายมักจะเป็นสิ่งเดียวกัน
เอกสารระดับสูงขึ้น
ในที่สุดก็มีสิ่งที่ต้องทำเกี่ยวกับระดับระบบและเอกสารทางสถาปัตยกรรม หลายคนสนับสนุนให้เขียนเอกสารดังกล่าวใน wiki หรือใช้ Word หรือโปรแกรมประมวลผลคำอื่น ๆ แต่สำหรับฉันที่ดีที่สุดสำหรับเอกสารดังกล่าวก็อยู่ข้างรหัสในรูปแบบข้อความธรรมดาที่เป็นระบบควบคุมเวอร์ชันที่เป็นมิตร
เช่นเดียวกับเอกสารในรหัสถ้าคุณจัดเก็บเอกสารระดับสูงของคุณในที่เก็บรหัสของคุณคุณจะมีแนวโน้มที่จะปรับปรุงให้ทันสมัยอยู่เสมอ คุณจะได้รับประโยชน์ด้วยเช่นกันเมื่อคุณดึงรหัสเวอร์ชัน XY ของโค้ดออกมาคุณจะได้รับเอกสารเวอร์ชัน XY นอกจากนี้หากคุณใช้รูปแบบที่เป็นมิตรกับ VCS ก็หมายความว่ามันเป็นเรื่องง่ายที่จะแตกสาขาและผสานเช่นเดียวกับรหัสของคุณ
ฉันค่อนข้างชอบrstเพราะมันง่ายที่จะสร้างทั้งหน้า html และเอกสาร PDF จากมันและเป็นมิตรกว่าLaTeXมาก แต่ก็ยังสามารถรวมการแสดงออกทางคณิตศาสตร์ของ LaTeXเมื่อคุณต้องการ