แผนผังลำดับงานและการเรียกเมธอด


11

ฉันกำลังทำแผนภูมิลำดับงานและสงสัยว่าฉันกำลังเข้าใกล้สิ่งนี้อย่างถูกต้องหรือไม่ โดยพื้นฐานแล้วฉันมีวิธีการโทรหลายวิธีและฉันก็แยกแต่ละแผนภูมิออกจากกัน อย่างไรก็ตามวิธีการเหล่านี้หลายวิธีทำการเรียกใช้ข้อมูลบางอย่างแล้วดำเนินการต่อ ดูตัวอย่างนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันมี 3 วิธีอื่น ๆ ที่เรียก GetQueue () และฉันสงสัยว่าฉันเป็นตัวแทนของสิ่งนี้อย่างถูกต้องหรือไม่ โฟลว์ AddQueue () ดูเหมือนว่าจะขาดหาย

หมายเหตุ: การเปลี่ยนแปลงในผังงานของฉัน:

ป้อนคำอธิบายรูปภาพที่นี่


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

มันถูกร้องขอจากฉันก่อนที่ฉันจะย้ายไปยังลูกค้ารายอื่น
Keith Barrows

@ Robert Harvey: ผังงานมีประโยชน์ในสมัยก่อนเมื่อคนเขียนรหัสเครื่องจักรหรือแอสเซมเบลอร์โดยตรง พวกเขาอาจเป็นประโยชน์กับโปรแกรมเมอร์ FORTRAN และ BASIC รุ่นแรกซึ่งไม่มีโครงสร้างการควบคุมที่ดี ทุกวันนี้เหตุผลเดียวที่ฉันทำคือถ้าลูกค้าต้องการให้พวกเขาเป็นผู้ส่งมอบและเต็มใจจ่ายเงินให้ฉันอย่างเพียงพอ
David Thornley

เมื่อพัฒนาสิ่งเหล่านี้ตั้งแต่เริ่มต้นฉันพบว่าการใช้หมุดสีเหลืองเป็นประโยชน์ช่วยเปลี่ยน 90 องศาเพื่อการตัดสินใจ สิ่งนี้ช่วยให้คุณย้ายพวกมันไปรอบ ๆ และแทรกกระบวนการภายใน เมื่อคุณทุกคนสวมใส่แล้วใส่ลงในซอฟต์แวร์ของคุณ
Michael Riley - AKA Gunny

ฉันยังคงใช้ผังงานเป็นครั้งคราวแม้ว่าฉันจะพบว่าการทดสอบหน่วยมักจะดีกว่าสำหรับจุดประสงค์เดียวกัน แม้ว่ามันจะไม่สามารถส่งมอบได้ ฉันใช้มันเพื่อควบคุมกระแสในสมอง
Michael K

คำตอบ:



2

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

ฉันตัดสินตามแบบแผนที่ฉันแยกการเรียกรูทีนย่อยออกจากการอ้างอิงรูทีนย่อย สำหรับอดีตฉันใช้สี่เหลี่ยมธรรมดาที่แสดงการเรียกพร้อมการโต้แย้งโดยใช้ตัวแปรอะไรก็ตามที่มีผล ณ จุดนั้นในการดำเนินการโปรแกรม

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

สิ่งนี้จะเพิ่มจำนวนของสี่เหลี่ยม แต่มันชัดเจนว่าผังงานอื่นนั้นมีอยู่เพื่อค้นหาคำจำกัดความของฟังก์ชันที่เรียกว่าบางส่วนจาก บ่อยครั้งถ้าฟังก์ชั่นนั้นง่ายฉันจะไม่สร้างไดอะแกรมแยกต่างหากสำหรับมัน แต่เพียงทำเป็นเอกสารด้วยวาจา

ฉันยังใช้สัญลักษณ์ "เอกสาร" เพื่อบอกว่าควรค้นหารายละเอียดจากรายการรหัสสินค้า

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

การรักษาผังงานในระดับสูงยังหมายความว่าไม่จำเป็นต้องปรับปรุงให้ทันสมัยอยู่เสมอเมื่อมีการแก้ไขโค้ด

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

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