3 คะแนน โดย GN⁺ 2023-10-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความเกี่ยวกับวิธีวาดไดอะแกรมสถาปัตยกรรมซอฟต์แวร์ให้มีประสิทธิภาพ
  • ผู้เขียนเน้นย้ำความสำคัญของไดอะแกรมในการพัฒนาซอฟต์แวร์ ซึ่งมักเป็นศูนย์กลางของการอภิปรายและการตัดสินใจ
  • เนื้อหาในไดอะแกรมควรถูกต้อง เป็นปัจจุบัน และไม่กำกวม โดยต้องแสดงเอนทิตีและความสัมพันธ์อย่างแม่นยำ
  • ผู้เขียนเสนอคุณลักษณะหลายประการของไดอะแกรมที่มีประสิทธิภาพ:
    • ลดระยะห่างของสิ่งที่อยู่ใกล้กันให้ต่ำที่สุด: หากวางโหนดที่เกี่ยวข้องไว้ใกล้กัน จะช่วยให้เข้าใจไดอะแกรมได้ง่ายขึ้น แต่เมื่อไดอะแกรมมีขนาดใหญ่ขึ้น เรื่องนี้ก็ยิ่งท้าทาย
    • มองหาความสมมาตร: ไดอะแกรมที่มีความสมมาตรดูสวยงามและเข้าใจง่าย อีกทั้งยังช่วยเสริมความหมายที่ไดอะแกรมต้องการสื่อ
    • จัดแนวให้อยู่กึ่งกลาง: ไดอะแกรมที่เป็นระเบียบและจัดแนวดีช่วยให้แนวคิดชัดเจนขึ้น หากรักษาการจัดแนวทุกครั้งที่มีการเพิ่มองค์ประกอบใหม่ ไดอะแกรมก็จะดูเรียบร้อย
    • ใช้กลุ่มคอนเทนเนอร์: การแบ่งไดอะแกรมออกเป็นหลายพื้นที่ที่มีป้ายกำกับจะช่วยให้เข้าใจได้ง่ายขึ้น คอนเทนเนอร์สามารถเพิ่มบริบท แสดงการยกระดับนามธรรม หรือจัดกลุ่มวัตถุที่เกี่ยวข้องได้
  • ผู้เขียนสัญญาว่าในตอนที่ 2 จะกล่าวถึงการลากเส้นทางของเส้น ขนาดและตำแหน่งของป้ายกำกับ สี ไอคอน เป็นต้นเพิ่มเติม
  • บทความนี้เป็นส่วนหนึ่งของบล็อก Terrastruct ซึ่งนำเสนอเนื้อหาสำหรับวิศวกรซอฟต์แวร์และนักพัฒนา

1 ความคิดเห็น

 
GN⁺ 2023-10-28
ความคิดเห็นจาก Hacker News
  • ผู้ใช้รายหนึ่งสนุกกับการสร้างไดอะแกรมเพราะตัวเลือกการจัดรูปแบบและไวยากรณ์ของภาษา D2 และได้เขียนบล็อกโพสต์เกี่ยวกับเรื่องนี้
  • VisualFlows.io กำลังจะเปิดตัว v1.0 ซึ่งจะช่วยให้ผู้ใช้สามารถออกแบบแผนที่สถาปัตยกรรมแบบแอนิเมชันของ SaaS ของตนได้ภายในไม่กี่นาที ฟีเจอร์หลักได้แก่ Smart Sections, Smart Edges, Smart Node Deletion, โหมด Dark/Light, Embeddable, ลากและวาง images/svgs/gifs, ไอคอน AWS/Windows/Google และรองรับ Markdown
  • ผู้ใช้อีกรายให้เหตุผลว่าเมื่อระบบเริ่มเปลี่ยนแปลง การคงไดอะแกรมที่ “สวยงาม” ไว้อาจเป็นเรื่องยาก และเสนอให้ใช้ diagrams-as-code เป็นทางเลือกที่มีประสิทธิภาพกว่า
  • ผู้ใช้รายหนึ่งแสดงความไม่พอใจว่าแม้ large language models จะทำได้ แต่กลับไม่มีเครื่องมือเฉพาะบนเครื่องสำหรับจัดเรียงบล็อกและลูกศรใหม่เพื่อความสวยงามทางสายตา พวกเขาสงสัยว่าทำไมจึงไม่มีเครื่องมือที่ให้ผู้ใช้วาดกล่องและลูกศร แล้วตัวเครื่องมือจัดทุกอย่างให้เป็นระเบียบและดูดีโดยอัตโนมัติ
  • ผู้ใช้รายหนึ่งชี้ให้เห็นความคล้ายคลึงกันระหว่างไดอะแกรมสถาปัตยกรรมซอฟต์แวร์กับผังวงจรไฟฟ้า ไดอะแกรมวงจร และแบบวิศวกรรมประเภทอื่น ๆ พวกเขาโต้แย้งว่าไม่มีสิ่งที่เรียกว่า “คำตอบที่ถูกต้อง” และการเลือกนามธรรมกับวิธีนำเสนอที่ดีคือสิ่งที่แยกแนวคิดที่เข้าใจได้ออกจากความสับสนที่ชวนให้เสียใจ
  • ผู้ใช้รายหนึ่งแบ่งปันประสบการณ์การวาดไดอะแกรมด้วย yEd โดยบอกว่าเครื่องมือนี้อาจทำให้กล่องและลูกศรดูยุ่งเหยิงได้ แต่เพียงคลิกไม่กี่ครั้งในเมนู ระบบก็จะจัดระเบียบให้อัตโนมัติ
  • ผู้ใช้รายหนึ่งกล่าวขอบคุณสำหรับบทความที่อธิบายวิธีทำให้บางสิ่งดูสวยงามขึ้นในแบบที่นำไปใช้ได้จริง โดยปกติแล้วพวกเขามักพึ่งพาสัญชาตญาณ
  • ผู้ใช้รายหนึ่งแบ่งปันประสบการณ์การใช้ D2 เพื่อสร้างไดอะแกรม D2 ขนาดใหญ่โดยอัตโนมัติจากไฟล์ serverless.yml โดยเครื่องมือนี้จะอัปเดตให้อัตโนมัติเมื่อระบบเติบโตขึ้น
  • ผู้ใช้อีกรายได้เพิ่มภาษา D2 ลงในบล็อกโพสต์ของตนเพื่อครอบคลุมหัวข้อเกี่ยวกับโค้ดการออกแบบด้านความมั่นคงปลอดภัยไซเบอร์
  • ผู้ใช้รายหนึ่งเสนอให้เพิ่มบล็อก plantuml เพื่อแทรกไดอะแกรมในโปรเจกต์ที่เขียนเป็นเอกสาร markdown พวกเขาชี้ว่าเมื่อเปิดไฟล์ .md บน Gitlab ผ่านเว็บเบราว์เซอร์ จะเรนเดอร์ออกมาได้ดี แต่ Github ยังไม่มีความสามารถนั้น