تطوير البرمجيات
Python المتوسط وممارسات الشيفرة النظيفة
برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.
نظرة عامة
تعلم عملي قابل للتطبيق في بيئة العمل.
العرض المعتاد هو وحدة برمجية لا يجرؤ على تعديلها سوى كاتبها: دوال بأحد عشر معاملاً، ورايات تغيّر السلوك على ثلاثة مستويات في العمق، وكتل منسوخة تباعدت مع الوقت، وطابور مراجعة لا يعرف فيه أحد إن كان التغيير آمناً. يعالج هذا البرنامج المسألة بوصفها مشكلة بنيوية لا مسألة ذوق. يتعلم المشاركون خصائص اللغة التي تزيل التكرار فعلياً — dataclasses والمولّدات والمزخرفات ومديري السياق والبروتوكولات — ثم يتدربون على استخراج الدوال والأصناف وعكس الاعتمادية في شيفرة بلا اختبارات، معتمدين على الأدوات الآلية شبكةَ أمان.
المتطلبات المسبقة
خبرة عملية بلغة Python لا تقل عن ستة أشهر، مع القدرة على كتابة الدوال واستخدام القواميس وقراءة الملفات بثقة.
الأهداف
- إعادة هيكلة الوحدات الإجرائية الطويلة إلى دوال وأصناف وdataclasses متماسكة.
- توظيف المولّدات وبروتوكول التكرار لمعالجة مجموعات بيانات ضخمة دون استنزاف الذاكرة.
- كتابة مزخرفات ومديري سياق يزيلون المنطق المتكرر العابر للوحدات.
- إضافة تلميحات الأنواع إلى شيفرة قائمة وفرضها تدريجياً باستخدام mypy.
- إعداد black وruff وpre-commit بحيث تختفي نقاشات التنسيق من مراجعة الشيفرة.
- تصميم تسلسل للاستثناءات وعقود أخطاء يستطيع المستدعي التعامل معها فعلياً.
الفئة المستهدفة
- مطورو Python الذين ينتجون شيفرة عاملة لكنهم يجدون صعوبة في صيانتها
- مهندسو البيانات الذين تحولت دفاترهم التفاعلية إلى نصوص إنتاجية
- مطورو الواجهات الخلفية القادمون إلى Python من Java أو C# أو PHP
- القادة التقنيون الذين يضعون معايير الكتابة لقاعدة شيفرة Python
- مهندسو الأتمتة الذين يتولون صيانة الأدوات الداخلية المشتركة
- مراجعو الشيفرة الباحثون عن مفردات مشتركة لجودة Python
محاور البرنامج
هيكل واضح لرحلة التعلم.
محاور البرنامج
تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.
الوحدة 1: البنية والأساليب الاصطلاحية في Python
التكرار والتفكيك بالأسلوب الاصطلاحي بدلاً من الحلقات المعتمدة على الفهارس
الصيغ المختصرة وتعبيرات المولّدات ومتى تكون الحلقة العادية أوضح
أسلوب EAFP مقابل LBYL وكلفة الإفراط في الفحص الدفاعي
التسمية وتنظيم الوحدات وقواعد PEP 8 المؤثرة فعلاً في المراجعة
الوحدة 2: الأصناف وdataclasses ونمذجة البيانات
تحديد متى يستحق الصنف وجوده ومتى تكفي الدالة
استخدام dataclasses والصفوف المسماة لتمثيل السجلات بدل القواميس المفككة
الخصائص وتوابع الصنف والتوابع الساكنة والتوابع الخاصة تطبيقياً
تفضيل التركيب على الوراثة عبر تبسيط تسلسل وراثي عميق
الوحدة 3: المكررات والمولّدات وخطوط المعالجة الكسولة
بروتوكول التكرار وكتابة دوال المولّدات باستخدام yield
معالجة ملف بحجم جيجابايتات على شكل تدفق دون تحميله في الذاكرة
توظيف itertools لتقسيم تدفقات السجلات وتجميعها ومعالجتها بنوافذ
مقارنة خطوط المولّدات ببناء قوائم وسيطة
الوحدة 4: المزخرفات ومديرو السياق وإعادة الاستخدام
الإغلاقات وfunctools.wraps والمزخرفات التي تحافظ على تواقيع الدوال
قياس الزمن وإعادة المحاولة والتخزين المؤقت وتسجيل التدقيق بكتابة واحدة
استخدام contextlib لإدارة الموارد والحالة المؤقتة والتنظيف
دمج كتل try وfinally المكررة في نطاق واحد مُدار
الوحدة 5: الأنواع والأدوات وبوابات الجودة الآلية
تلميحات الأنواع للدوال والحاويات وOptional وUnion وProtocol
إدخال mypy إلى شيفرة غير موصّفة الأنواع دون تعطيل التسليم
ضبط black وruff وترتيب الاستيرادات مرة واحدة في pyproject.toml
خطافات pre-commit التي تمنع وصول شيفرة غير منسقة أو غير مفحوصة إلى المراجعة
الوحدة 6: ورشة إعادة الهيكلة والمراجعة
قراءة وحدة قديمة ورسم خريطة مسؤولياتها الفعلية
استخراج الدوال والأصناف واستبدال رايات السلوك بتعدد الأشكال
إزالة التكرار دون ابتكار تجريدات سابقة لأوانها
إجراء مراجعة حية وفق قائمة تحقق جودة متفق عليها داخل الفريق
المواد المقدمة
- دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
- بيئة معملية عملية ومستودعات بداية جاهزة
- تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
- شهادة إتمام من 4D
- دعم فني بعد انتهاء البرنامج
خيارات التدريب
يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.
لماذا البعد الرابع
تُحضر 4D إحدى وحداتكم البرمجية الحقيقية إلى القاعة وتعيد هيكلتها أمام المشاركين خطوة بخطوة، فيدور النقاش حول سلاسل الوراثة والدوال المكررة الموجودة لديكم لا حول مثال أكاديمي جاهز. ويخرج المشاركون بملف pyproject.toml مضبوط وإعداد pre-commit جاهز للعمل وقائمة مراجعة للشيفرة ناقشها الفريق واعتمدها قبل نهاية البرنامج.
دورات ذات صلة
أساسيات البرمجة بلغة Python
مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.
View courseأتمتة المهام المكتبية والبرمجة النصية بلغة Python
برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.
View coursePython المتقدم: التزامن والأداء
برنامج للمهندسين الذين بلغت خدمات Python وخطوط معالجتها لديهم حدودها. يبدأ بالقياس عبر cProfile وpy-spy وtracemalloc، ثم يتناول قفل المفسر العام والخيوط وتجمعات العمليات وasyncio، قبل الانتقال إلى توجيه NumPy والتخزين المؤقت والتسريع الأصلي للمسارات التي تبقى بطيئة.
View course