SwiftPlantUML

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

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

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

จากนั้นฉันก็ค้นพบPlantUMLซึ่งเป็นเครื่องมือโอเพ่นซอร์สเพื่อสร้างไดอะแกรม UML ประเภทต่างๆจากภาษาข้อความธรรมดา มีระบบนิเวศที่สดใสรอบ ๆ PlantUML ให้ฉันชี้ให้เห็นPlantTextซึ่งเป็นเครื่องมือออนไลน์ที่ออกแบบมาอย่างดีเพื่อสร้างภาพตามการอ้างอิงภาษา PlantUML

แต่กลับไปที่ Swift และกรณีการใช้งานเพื่อสร้างคลาสไดอะแกรมจากซอร์สโค้ด Swift ที่มีอยู่ จะทำได้อย่างไร? โดยการแยกวิเคราะห์ซอร์สโค้ดให้แปลงเป็นสคริปต์ที่สอดคล้องกับภาษา PlantUML จากนั้นใช้เครื่องมือออนไลน์เพื่อสร้างไดอะแกรมจริง มีโปรเจ็กต์โอเพนซอร์สมากมายเพื่อจัดการกับกระบวนการนี้ ตัวอย่างเช่นมี

แต่เครื่องมือเหล่านี้ต้องการให้ผู้ใช้ติดตั้งการอ้างอิงเพิ่มเติมด้วยตนเอง (เช่น NodeJS, Graphviz หรือ Python) บางโครงการไม่ได้รับการดูแลอีกต่อไปและมีข้อ จำกัด ในเรื่องของฟังก์ชันการทำงาน และไม่มีเครื่องมือเหล่านี้เขียนด้วย Swift :(

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

และดังนั้นผมจึงเริ่มทำงานในSwiftPlantUMLยูทิลิตี้ที่สามารถใช้ได้เป็นXcode ขยายตัวแก้ไขมา

เปิดใช้งาน Xcode Source Editor Extension ใน System Preferences -> Extensions

คุณสามารถสร้างไดอะแกรมจากบรรทัดโค้ดที่เลือกหรือจากไฟล์ทั้งหมดที่แสดงใน Xcode จากนั้นคลาสไดอะแกรมจะเปิดขึ้นในเบราว์เซอร์ของคุณ

สร้างคลาสไดอะแกรมด้วย Xcode Source Editor Extension

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

สำหรับฟังก์ชั่นการใช้งานที่สมบูรณ์และแนวโน้มของแผนงานที่จะเกิดขึ้นโปรดไปที่ https://github.com/MarcoEidinger/SwiftPlantUML

คำขอดึงปัญหาและข้อเสนอแนะยินดีต้อนรับอย่างอบอุ่น

แต่เดิมการเผยแพร่ที่https://blog.eidinger.info

Suggested posts

Codable: การจัดการค่า Enum ที่ไม่ถูกต้อง

Codable: การจัดการค่า Enum ที่ไม่ถูกต้อง

ปกป้อง codebase ของคุณ: จัดการกับค่า enum ที่ไม่คาดคิด เคยเผชิญกับสถานการณ์ที่แอปของคุณเริ่มทำงานล้มเหลวโดยไม่รู้ตัว ซึ่งจากการตรวจสอบพบว่า backend ให้ค่าสำหรับฟิลด์ตาม enum บางฟิลด์ที่ไม่มีอยู่ใน enum ในโค้ด? ลองพิจารณาตัวอย่างต่อไปนี้: Ohhh I love some Tea แต่ถ้าเราเปลี่ยนเครื่องดื่มที่ชื่นชอบในข้อมูล JSON จาก Tea เป็น Juice (ค่าที่ไม่มีอยู่ใน enum, Beverage) ล่ะ โฟกัสที่ส่วนของข้อความ: “ไม่สามารถเริ่มต้นเครื่องดื่มจากน้ำผลไม้ที่มีค่าสตริงไม่ถูกต้อง” หากเป็นแอปจริงแทนที่จะเป็นโค้ด Playground แอปอาจขัดข้อง แล้วเราจะดูแลได้อย่างไรว่าแม้ว่าแบ็กเอนด์จะส่งค่าที่ไม่ถูกต้องในการตอบกลับ แอปของเราควรจะสามารถจัดการกับมันได้แทนที่จะหยุดทำงานทันที หนึ่งในวิธีที่ฉันชอบเป็นการส่วนตัว:

เครื่องมือตรวจสอบแบบฟอร์มการเข้าสู่ระบบที่มีน้ำหนักเบาโดยใช้ Combine

เครื่องมือตรวจสอบแบบฟอร์มการเข้าสู่ระบบที่มีน้ำหนักเบาโดยใช้ Combine

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

Related posts

ชีวิตไร้ขีดจำกัด

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

คาวบอยโกหก

บรรษัทขนาดใหญ่ขายคนอเมริกันด้วยความเท็จได้อย่างไร

คาวบอยโกหก

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

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

“หวัดดี Siri เล่น Me Dive โดย Olivia Dean” ในเดือนพฤษภาคม 2021 ฉันเริ่มฝึกงานที่ Future Academy Africa ในเมือง Akure ประเทศไนจีเรีย

การรวบรวม OSINT เพื่อการล่าภัยคุกคาม

การรวบรวม OSINT เพื่อการล่าภัยคุกคาม

สวัสดีชาวไซเบอร์! ยินดีต้อนรับกลับสู่ OSINT สำหรับซีรี่ส์การล่าภัยคุกคาม ในบทความแรก ฉันได้ให้ภาพรวมของ OSINT และความสำคัญในการตามล่าภัยคุกคาม