เราจะทำให้ 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
- ทำไมธุรกิจรีไซเคิลถึงต้องการซอฟต์แวร์แบบครบวงจร
- Why Recycling Businesses Need a Comprehensive Software Solution
- เพิ่มพลังการตลาดของคุณด้วยระบบ CRM และคำแนะนำที่ขับเคลื่อนโดย Django
- Supercharge Your Marketing with Django-Powered CRM & Personalized Recommendations
- デジタルコンパニオンを作る:日々の励ましと感情的な幸福を支えるボットの開発
- สร้างเพื่อนดิจิทัล: การสร้างบอทเพื่อกำลังใจและความเป็นอยู่ทางอารมณ์ในทุกๆ วัน
- Building a Digital Companion: Creating a Bot for Daily Encouragement and Emotional Well-being
- การเปลี่ยนโฉมการเกษตร: การติดตามสุขภาพพืชด้วย AI สำหรับเกษตรอัจฉริยะ
- Transforming Agriculture: AI-Driven Crop Health Monitoring for Smart Farming
- การสร้างฟีเจอร์การทำงานแบบออฟไลน์สำหรับแอปชาร์จรถ EV: คู่มือการใช้งาน Python
- Building Offline Support for EV Charging Apps: A Python Guide
- การอ่านโค้ดโมดูลขายของ Odoo โดยใช้ Code2Flow
- Code Reading Odoo’s Sales Module Using Code2Flow
- การพัฒนา API ประสิทธิภาพสูงสำหรับการทำฟาร์มทุเรียนในจันทบุรี ประเทศไทย: การเลือก Framework Python และ MongoDB ที่เหมาะสม
- High-Performance API Development for Durian Farming in Chanthaburi, Thailand: Choosing the Right Python Framework with MongoDB
- การเปรียบเทียบคุณสมบัติและความซับซ้อนของ ERPNext และ Odoo
- Comparing Features and Complexity of ERPNext and Odoo
- 用AR增强电商体验:移动应用中的3D产品预览指南
- 「ARでeコマースを強化:モバイルアプリにおける3D商品プレビューのガイド」
- เพิ่มประสบการณ์อีคอมเมิร์ซด้วย AR: คู่มือการแสดงสินค้าด้วย 3D บนแอปมือถือ
Our Products
Articles
- ทำไมธุรกิจรีไซเคิลถึงต้องการซอฟต์แวร์แบบครบวงจร
- Why Recycling Businesses Need a Comprehensive Software Solution
- เพิ่มพลังการตลาดของคุณด้วยระบบ CRM และคำแนะนำที่ขับเคลื่อนโดย Django
- Supercharge Your Marketing with Django-Powered CRM & Personalized Recommendations
- デジタルコンパニオンを作る:日々の励ましと感情的な幸福を支えるボットの開発
- สร้างเพื่อนดิจิทัล: การสร้างบอทเพื่อกำลังใจและความเป็นอยู่ทางอารมณ์ในทุกๆ วัน
- Building a Digital Companion: Creating a Bot for Daily Encouragement and Emotional Well-being
- การเปลี่ยนโฉมการเกษตร: การติดตามสุขภาพพืชด้วย AI สำหรับเกษตรอัจฉริยะ
- Transforming Agriculture: AI-Driven Crop Health Monitoring for Smart Farming
- การสร้างฟีเจอร์การทำงานแบบออฟไลน์สำหรับแอปชาร์จรถ EV: คู่มือการใช้งาน Python
- Building Offline Support for EV Charging Apps: A Python Guide
- การอ่านโค้ดโมดูลขายของ Odoo โดยใช้ Code2Flow
- Code Reading Odoo’s Sales Module Using Code2Flow
- การพัฒนา API ประสิทธิภาพสูงสำหรับการทำฟาร์มทุเรียนในจันทบุรี ประเทศไทย: การเลือก Framework Python และ MongoDB ที่เหมาะสม
- High-Performance API Development for Durian Farming in Chanthaburi, Thailand: Choosing the Right Python Framework with MongoDB
- การเปรียบเทียบคุณสมบัติและความซับซ้อนของ ERPNext และ Odoo
- Comparing Features and Complexity of ERPNext and Odoo
- 用AR增强电商体验:移动应用中的3D产品预览指南
- 「ARでeコマースを強化:モバイルアプリにおける3D商品プレビューのガイド」
- เพิ่มประสบการณ์อีคอมเมิร์ซด้วย AR: คู่มือการแสดงสินค้าด้วย 3D บนแอปมือถือ