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