AzLearn

تطبيق: هيكل main

Main Function Walkthrough

تطبيق ~20 دقيقة

تطبيق: هيكل main — Main Function Walkthrough

في السكربتات الصغيرة جداً، يمكنك كتابة الأوامر من أعلى إلى أسفل. لكن عندما يظهر لديك أكثر من دالة، يصبح من الأفضل أن تجعل نقطة الدخول واضحة: main "$@" في آخر الملف. هذا النمط مألوف في لغات كثيرة، ويجعل القارئ يعرف أين يبدأ التنفيذ الفعلي.

الهيكل المقترح: إعدادات الأمان في الأعلى، ثوابت إن وجدت، دوال مساعدة، ثم دالة main، وفي النهاية main "$@". لا تضع تنفيذات عشوائية بين الدوال. هذا يحافظ على قابلية القراءة، ويجعل إعادة استخدام الدوال أسهل.

داخل main تقرأ المعاملات، تتحقق منها، ثم تستدعي الدوال. إذا فشل شيء، اطبع رسالة واخرج. لا تجعل الدوال كلها تعتمد على متغيرات عامة؛ مرر القيم قدر الإمكان.

سكربت منظم

script.sh

لاحظ أن main تستخدم return 1 بدل exit 1. هذا مع حارس BASH_SOURCE يجعل السكربت قابلاً لـsource-ing من اختبار خارجي (مثل ملف *.bats) دون أن يتم استدعاء main تلقائياً. عند تشغيل الملف مباشرة (./report.sh Aziz) يدخل الشرط ويُستدعى main؛ عند source ./report.sh تبقى الدوال متاحة لكن main لا يعمل.

لماذا هذا مهم؟

لأن السكربتات التشغيلية تعيش أكثر مما تتوقع. ما يبدأ بخمسة أسطر قد يصبح خمسين. إذا بدأت بهيكل واضح، يكبر السكربت بدون أن يتحول إلى فوضى.

تحدي — Challenge