เราจะทำให้ program ที่มีขั้นตอนการทำงานที่ซับซ้อน และ ต้องแบ่งงานให้กับ programmer หลายๆ คนได้อย่างไร ?
หลายๆคน คงได้อ่านหนังสือเกี่ยว software engineering มาหลายๆ เล่ม ก็จะมีข้อเสนอแนะหลายวิธี แต่วันนี้ผมจะมาพูดถึงการควบคุมลำดับการทำงานของ program ที่ซับซ้อน ให้ง่ายขึ้นด้วยการสร้าง workflow engine system ขึ้นมาใช้เอง ลองกลับไปอ่านบทความก่อนหน้านี้ สร้าง business workflow process system ด้วย networkx.org
จากที่เคยเขียนเกี่ยวกับ networkX เราก็จะใช้ความสามารถของ networkX มาควบคุมการทำงานของ workflow โดยใช้เทคนิคของการเรียก function ด้วย string ผ่าน getattr function ใน python และใช้ successors function
ตัวอย่าง code
เพื่อนๆ คงจะพอเห็นแนวแล้วว่า flow control ของ program จะใช้ successors และเราก็สามารถเทียบกับ edge data ( ในกรณีนี้คือ choice: ‘b’ และ choice: ‘c’ ) เพื่อเลือก successor ที่สอดคล้องกับ edge data
ถ้าใช้วิธีการนี้เราก็สามารถแบ่งงานกับ programmer ในทีมได้ง่ายขึ้น เพราะแต่ละคนไม่ต้องสนใจว่า code ที่ตัวเองเขียนจะต้องถูกเรียกไปที่ไหน ซึ่งลองจินตนาการว่า function ที่จะถูกเรียกใช้งานต่อไปเขียนด้วย programmer อีกคนในทีม เป็นการ decoupling ผ่านวิธีการสร้าง workflow engine
Articles
- วิธีการเข้ารหัสข้อมูลผู้ป่วยในโรงพยาบาล: การรักษาความปลอดภัยข้อมูลสุขภาพ
- การพัฒนาแชทบอทด้านสุขภาพ: ปฏิวัติการดูแลผู้ป่วยด้วยปัญญาประดิษฐ์ (AI)
- การใช้เซ็นเซอร์ในฟาร์มผลไม้: เทคโนโลยีที่ช่วยแก้ไขปัญหาและเพิ่มประสิทธิภาพ
- เทคโนโลยีการเกษตรยุคใหม่: ช่วยเกษตรกรรุ่นใหม่แก้ไขปัญหาได้อย่างไร
- การพัฒนา Plugin สำหรับ Wazuh: เพิ่มความสามารถและการใช้งานที่หลากหลาย
- การใช้งาน Wazuh ในกรณีต่างๆ: การปกป้องและการตรวจสอบระบบอย่างมีประสิทธิภาพ
- แนะนำ Wazuh: ระบบความปลอดภัยและการตรวจสอบที่ครอบคลุม
- ตอนที่ 3: การผสานรวมการติดตามแบบเรียลไทม์ การรายงาน และการวิเคราะห์
- ตอนที่ 2: เจาะลึกคุณสมบัติของระบบการจัดการยานพาหนะ
- ตอนที่ 1: แนะนำระบบการจัดการยานพาหนะสำหรับธุรกิจรีไซเคิล
- เราจะเขียน OCPP server อย่างไร
- SEO ( Search Engine Optimization ) ฉบับเข้าใจง่ายๆ
- ความสามารถของระบบ SimpiEcommerce ( ECommerce System )
- สร้าง business workflow process system ด้วย networkx.org
- วิธีการออกแบบเพื่อลดการซับซ้อนของ software
- Facebook Pixel ทำงานอย่างไร ?
- ข้อแนะนำพัฒนา E-Commerce Website ด้วย Shopify
- บางทีความรู้ก็เป็นสิ่งที่จำกัดความคิดสร้างสรรค์ได้เหมือนกัน
- Web Socket คืออะไร
- เทคนิคที่ช่วยให้เขียน program ให้ดีขึ้นอย่างรวดเร็ว
- มาสร้าง Blockchain ของเราเองกันเถอะ ( 2 ) , Mining
- มาสร้าง Blockchain ของเราเองกันเถอะ ( 1 )
- decentralized network system คืออะไร ?
- Blockchain Technology จะช่วยแก้ปัญหาของชาวสวนและผู้บริโภคได้อย่างไร ?
- เครื่องวัดอัตราไหลของน้ำด้วย Arduino และ YF-S201 Hall Effect Water Flow Meter Sensor
- เราจะเข้าใจ code ของ project ที่มีความซับซ้อนได้อย่างไร ?
- Photogrammetry และ Metaverse
- ทำแอปประชุม online ด้วย Zoom SDK และ Ionic mobile framework
- Smart Factory หรือ Industry 4.0 คืออะไร ?
- Live Sport Engagement Technology ช่วยเพิ่มประสบการณ์ของแฟนกีฬาได้อย่างไร
- 5 ข้อ ที่เข้าใจผิดในการเขียน code
- ERP ( Enterprise Resource Planning ) คืออะไร