0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · درس

فحص التعليمات البرمجية والتحقق من جودتها

طبّقوا أدوات التحليل الساكن للتعليمات البرمجية وفحصها ضمن سير العمل للحفاظ على معايير ترميز متسقة.

فحص التعليمات البرمجية والتحقق من جودتها درس مجاني في CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CI/CD with GitHub Actions & DevOps Pipelines، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.

ما جودة التعليمات البرمجية؟

هل سبق لكم العمل على تعليمات برمجية يصعب فهمها أو تكثر فيها الأخطاء؟ غالبًا ما تكون هذه علامة على انخفاض جودة التعليمات البرمجية.

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

تعرّفوا على أداة Linter

تُعد عملية الفحص البرمجي عملية تتحقق من وجود أخطاء برمجية وأسلوبية في التعليمات البرمجية. فكروا فيها كأنها مدقق إملائي للتعليمات البرمجية!

  • تفرض معايير كتابة التعليمات البرمجية، مثل المسافات البادئة، وتسمية المتغيرات، وطول السطر.
  • تكتشف أخطاء الصياغة البسيطة أو الأخطاء المحتملة قبل تشغيل التعليمات البرمجية.

لا تنفذ أدوات Linter التعليمات البرمجية؛ بل تحلل بنيتها.

التحليل الساكن للتعليمات البرمجية

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

يمكن لأدوات التحليل الساكن تحديد ما يلي:

  • ثغرات أمنية محتملة (مثل مخاطر حقن SQL)
  • اختناقات في الأداء
  • أنماط أخطاء معقدة أو تعليمات برمجية يتعذر الوصول إليها

يساعد كل من الفحص البرمجي والتحليل الساكن على تحسين جودة التعليمات البرمجية عمومًا.

فوائد التعليمات البرمجية النظيفة

يوفر دمج الفحص البرمجي والتحليل الساكن في سير عمل التطوير العديد من المزايا:

  • الاتساق: يضمن اتباع جميع التعليمات البرمجية للمعايير المتفق عليها.
  • اكتشاف الأخطاء مبكرًا: يكتشف الأخطاء قبل أن تتحول إلى مشكلات أكبر.
  • تحسين قابلية القراءة: يجعل فهم التعليمات البرمجية أسهل للآخرين (ولكم في المستقبل أيضًا!).
  • تحسين قابلية الصيانة: يقلل الجهد اللازم للتحديثات والإصلاحات المستقبلية.

أدوات المجال

تمتلك لغات البرمجة المختلفة أدواتها الشائعة الخاصة بالفحص البرمجي والتحليل الساكن:

  • JavaScript: ESLint وPrettier
  • Python: Flake8 وPylint وBlack
  • Java: Checkstyle وSonarQube

سنركز في هذا الدرس على Flake8 في Python، وهي أداة بسيطة وقوية في الوقت نفسه.

فحص Python باستخدام Flake8

يجمع Flake8 عدة أدوات (Pyflakes وpycodestyle وMcCabe) لفحص تعليمات Python البرمجية وفق إرشادات أسلوب PEP 8 والأخطاء الشائعة.

يُعد PEP 8 دليل الأسلوب الرسمي للغة Python، وهو يشجع على كتابة تعليمات برمجية سهلة القراءة ومتسقة. ويساعدكم Flake8 على الالتزام به تلقائيًا.

تشغيل Flake8 محليًا

إليكم نصًا برمجيًا صغيرًا بلغة Python يتضمن بعض مشكلات الأسلوب. لتشغيل Flake8 عليه، ستقومون عادةً بتثبيته (`pip install flake8`) ثم تشغيل `flake8 your_script.py` في الطرفية.

لاحظوا المسافات واختيارات الأسلوب. سيبلغ Flake8 عن هذه المشكلات!

def calculate_sum(  num1, num2 ):
    total = num1 + num2
    print ( total )

calculate_sum( 5, 7 )

الفحص البرمجي في مسار CI الخاص بكم

لضمان اتساق جودة التعليمات البرمجية ضمن فريقكم، يمكنكم أتمتة الفحص البرمجي باستخدام GitHub Actions. وهذا يعني أن أداة الفحص ستعمل تلقائيًا كلما دُفعت تعليمات برمجية أو فُتح طلب سحب.

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

مثال على سير عمل Flake8

إليكم سير عمل أساسيًا في GitHub Actions (`.github/workflows/lint.yml`) يشغّل Flake8 على مشروع Python الخاص بكم. ويُشغّل عند الدفع وطلبات السحب إلى الفرع الرئيسي.

name: Python Linting

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: '3.x'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install flake8
    - name: Run Flake8
      run: |
        flake8 . --count --show-source --statistics

قراءة تقارير الفحص البرمجي

عند تشغيل Flake8، فإنه يعرض قائمة بالمشكلات. ويتضمن كل سطر عادةً اسم الملف، ورقم السطر، ورقم العمود، ورمز الخطأ (مثل E231 وW292)، ووصفًا له.

  • E (خطأ): عادةً ما يشير إلى مخالفات في الصياغة أو الأسلوب الجسيمة.
  • W (تحذير): مشكلات أسلوب أقل خطورة.

غالبًا ما يكون هدفكم هو الوصول إلى صفر من أخطاء/تحذيرات الفحص البرمجي للحصول على مسار نظيف!

اختبار المعرفة بالفحص البرمجي

لقد تعلمتم أهمية الفحص البرمجي والتحليل الساكن. لنختبر مدى فهمكم!

مراجعة: الفحص البرمجي من أجل الجودة

أحسنتم! لقد استكشفتم أهمية الفحص البرمجي والتحليل الساكن للتعليمات البرمجية في الحفاظ على جودة عالية للتعليمات البرمجية ضمن تطوير البرمجيات الحديث.

  • عرّفنا الفحص البرمجي والتحليل الساكن.
  • تعرفنا على فوائدهما في تحقيق الاتساق ومنع الأخطاء.
  • رأينا كيفية دمج أدوات مثل Flake8 في سير عمل GitHub Actions.

من خلال أتمتة عمليات التحقق هذه، تضمنون تعليمات برمجية أنظف وأكثر موثوقية في كل commit!

الأسئلة الشائعة

هل درس «فحص التعليمات البرمجية والتحقق من جودتها» مجاني؟

نعم — نص درس «فحص التعليمات البرمجية والتحقق من جودتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CI/CD with GitHub Actions & DevOps Pipelines، انتقل إلى CoddyKit PRO. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.

ماذا ستتعلم في «فحص التعليمات البرمجية والتحقق من جودتها»؟

طبّقوا أدوات التحليل الساكن للتعليمات البرمجية وفحصها ضمن سير العمل للحفاظ على معايير ترميز متسقة. تتمرن على CI/CD with GitHub Actions & DevOps Pipelines مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ CI/CD with GitHub Actions & DevOps Pipelines؟

لا تُشترط خبرة سابقة. CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «فحص التعليمات البرمجية والتحقق من جودتها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس CI/CD with GitHub Actions & DevOps Pipelines هذا؟

نعم. كل درس في CI/CD with GitHub Actions & DevOps Pipelines يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مشغّلات سير العمل والأحداث
  2. تشغيل الاختبارات باستخدام GitHub Actions
  3. فحص التعليمات البرمجية والتحقق من جودتها
  4. تخزين الاعتماديات مؤقتًا لتسريع عمليات البناء
← العودة إلى CI/CD with GitHub Actions & DevOps Pipelines