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

นี่เป็นไดอะแกรมFSM (เครื่องไฟไนต์ - สเตท ) สำหรับกับดักแหลม (กับดักที่ยอดเยี่ยมที่คุณก้าวเข้ามาและหนามแหลมwooshปรากฏขึ้นจากพื้นดิน)

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

เมื่อฉันไปถึงระดับที่ต่ำกว่าปกติมันเป็นเพราะฉันต้องวางแผนด้านที่ซับซ้อนที่สุดของสถาปัตยกรรมของฉันและฉันมักจะจัดการกับ UML ที่นั่น ฉันไม่เคยมีสมาธิกับการส่งออกที่สะอาดอย่างแน่นอนและ UML ที่ถูกต้องแม้ว่า ฉันยอมรับสิ่งที่ฉันชอบมากที่สุดเกี่ยวกับการประชุม UML และเปลี่ยนเป็น mindmap-ish UML ที่ดี มันง่ายและทำงานให้ฉันได้ แต่ฉันจะไม่ไปกับมันในสภาพแวดล้อมที่คาดหวัง UML จริงด้วยเหตุผลที่ชัดเจน
อีกสถานการณ์หนึ่งที่ฉันต้องไปที่ระดับต่ำกว่าคือเมื่อฉันต้องอธิบายอัลกอริทึมจริง ฉันจะใช้สิ่งที่ผมเรียกแผนภาพกระแส มันเป็นรูปแบบที่แรงบันดาลใจจากแผนภาพที่ใช้ในการทดสอบกล่องสีขาว
ตัวอย่างสำหรับกับดักขัดขวางที่ฉันวาดตอนนี้จะมีลักษณะเช่นนี้:

โดยปกติจะเป็นเลเยอร์สุดท้ายระหว่างไดอะแกรมและการใช้งานอัลกอริทึมจริง หากจำเป็นต้องเกิดขึ้นฉันจะอธิบายรายละเอียดของโฟลว์ไดอะแกรมเพิ่มเติม (พร้อมคำสั่งพิเศษเพิ่มเติม) และอนุมานหรือประมาณความซับซ้อนและสร้างกรณีทดสอบที่ถูกต้อง ฉันชอบไดอะแกรมมากกว่า pseudocode ด้วย
ไม่เกี่ยวกับการพัฒนาเกมฉันมีรูปแบบที่ดีในการอธิบายหน้าจอในแอพหลายหน้าจอฟังก์ชั่นที่ผู้ใช้สามารถเรียกใช้ในแต่ละหน้าจอและความสัมพันธ์ระหว่างหน้าจอ ปกติแล้วฉันจะสร้างสิ่งเหล่านี้ก่อนที่จะเริ่มการพัฒนาจริงและพวกเขาทำหน้าที่เหมือนแผนที่ตลอดกระบวนการพัฒนา ถ้าเป็นของลูกค้าแผนภาพหน้าจอจะมีประโยชน์มากกว่านี้! มันช่วยให้ฉันผ่านโครงการทั้งหมดตั้งแต่เริ่มต้นจนถึงเริ่มต้นและคำนึงถึงการใช้งานทั้งหมดที่มันต้องการ ดังนั้นจึงประเมินค่าไม่ได้ในการประเมินค่าใช้จ่ายและเวลาอย่างแม่นยำ
ใช่ฉันทำแผนภาพทุกอย่างและทุกอย่าง หากฉันมีความคิดฉันสามารถและจะวาดแผนภาพให้แน่นอน ถ้าฉันเริ่มต้นโครงการโดยไม่มีแผนภาพที่กว้างพอที่จะสำรองฉันได้ฉันก็รู้สึกพิการ