مشهد لمساحة عمل حيوية يظهر فيها شخص يكتب على ورقة ملاحظات صفراء، محاطًا بأدوات مكتبية ملوَّنة تشمل أقلام التحديد وأقلام التمييز والأقلام الرصاص وأوراق الملاحظات اللاصقة.

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

تعريف توثيق التعليمات البرمجية

توثيق التعليمات البرمجية هو عملية وصف التعليمات البرمجية المصدر لمشروع برمجي وشرحها. ويُعَد جزءًا أساسيًا من تطوير البرمجيات، ويمكن أن يتخذ أشكالًا مختلفة، منها التعليقات داخل التعليمات البرمجية والملفات المشتركة أو قاعدة معرفية مركزية.

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

المقارنة بين توثيق التعليمات البرمجية والتوثيق كتعليمات برمجية

يتعامل التوثيق كتعليمات برمجية مع التوثيق بالطريقة نفسها التي يتم التعامل بها مع التعليمات البرمجية. وتتم إدارة التوثيق في هذا النهج باستخدام الأدوات نفسها المستخدمة مع التعليمات البرمجية المصدر، بما في ذلك أنظمة التحكم في الإصدارات لمراجعة التغييرات وتتبُّعها، والاختبارات الآلية لاكتشاف مشكلات التنسيق والأسلوب، والتكامل المستمر/التسليم المستمر (CI/CD) لتحديث التوثيق ونشره.

وفي حين يشمل توثيق التعليمات البرمجية الممارسة الأوسع لتوثيقها، فإن "التوثيق كتعليمات برمجية" يُعَد استراتيجية محددة ونهجًا أكثر تقنية لكتابة التوثيق.

أنواع توثيق التعليمات البرمجية

تعتمد بنية توثيق التعليمات البرمجية على الجمهور المستهدف وكيفية استخدامه. وفيما يلي بعض الأنواع الشائعة للتوثيق:

  • التوثيق منخفض المستوى

  • التوثيق عالي المستوى

  • التوثيق الداخلي

  • التوثيق الخارجي

التوثيق منخفض المستوى

يُشير التوثيق منخفض المستوى عادةً إلى التعليقات المضمَّنة داخل التعليمات البرمجية. وباعتبارها إحدى أبسط طرق كتابة التوثيق، فإن هذه الملاحظات تشرح أسطرًا أو مقاطع محددة من التعليمات البرمجية.

def multiply(x, y):
    # Returns the product of two numbers
    return x * y

وتُعَد سلاسل التوثيق أو Docstrings أسلوبًا آخر من أساليب التوثيق منخفض المستوى. وتظهر قبل تعريف الصنف أو الوظيفة أو الأسلوب أو الوحدة البرمجية. وتتبع سلاسل التوثيق تنسيقًا منظمًا يوضِّح الغرض وأمثلة الاستخدام والوظائف والمَعلمات والقيم المُعادة.

def reverse_string(s):
    ‘’’
    Returns the reverse of a string value
    Parameters:
        s (str): The string to be reversed
    Returns:
        rev (str): The string value in reverse
    ‘’’

    rev = ‘’
    x = len(s)

    while x > 0:
        rev += s[x - 1]
        x = x - 1

    return rev

وتكون التعليقات المضمَّنة أكثر ملاءمة لتوضيح المنطق عندما لا يكون واضحًا من خلال فحص التعليمات البرمجية نفسها أو عند التعامل مع تعليمات برمجية تستند إلى خوارزميات أكثر تعقيدًا. أما سلاسل التوثيق فيمكن استخراجها لاستخدامها في توثيق واجهات برمجة التطبيقات (API)، كما توفِّر مساعدة سياقية داخل بيئات التطوير المتكاملة (IDEs).

التوثيق عالي المستوى

على عكس التوثيق منخفض المستوى الذي يصف أجزاء التعليمات البرمجية ككيانات مستقلة، يتضمن التوثيق عالي المستوى تفاصيل حول دورها ضمن سير العمل البنائي الأشمل. ويشمل هذا النوع من توثيق البرمجيات المخططات الانسيابية ومخططات لغة النمذجة الموحَّدة (UML) التي توضِّح بنية التعليمات البرمجية، ومستندات التصميم التي تبيّن منطق الأعمال وكيفية توافق التعليمات البرمجية مع متطلبات المنتج، ومواصفات بنية قواعد التعليمات البرمجية أو مستودعاتها.

التوثيق الداخلي

يتم تخصيص هذا التوثيق التقني للاستخدام الداخلي داخل المؤسسة. ومن أمثلته اصطلاحات ومعايير البرمجة، ووثائق العمليات التي توضِّح كيفية تطوير الفِرق للبرمجيات. كما تندرج أدلة إعداد بيئات التطوير ضمن التوثيق الداخلي.

التوثيق الخارجي

يتم توجيه هذا التوثيق للمستخدمين، ويستهدف المطورين وغيرهم من المستخدمين خارج المؤسسة. فعلى سبيل المثال، يوضِّح توثيق واجهات برمجة التطبيقات الفئات والوظائف والأساليب والوحدات البرمجية المتاحة ضمن واجهات برمجة التطبيقات العامة الخاصة بالمشروع البرمجي. وقد يتضمن التوثيق الخارجي أيضًا ملفات التكوين وملاحظات التكامل وملف README.

تتم كتابة ملف README باستخدام Markdown، وهي لغة ترميز خفيفة لتنسيق النصوص العادية. ويتضمن معلومات عن ميزات المشروع وتبعياته وتعليمات التثبيت وأوامر واجهة سطر الأوامر (CLI) وخيارات الحصول على المساعدة والدعم. كما تضيف المشروعات مفتوحة المصدر تفاصيل الترخيص وإرشادات المساهمين الخاصة بتقديم طلبات السحب لدمج إصلاحات الأخطاء أو تغييرات التعليمات البرمجية في الفرع الرئيسي لمستودع التعليمات البرمجية.

فوائد توثيق التعليمات البرمجية

قد تمثل كتابة التعليمات البرمجية بأسلوب واضح ومنظم شكلًا من أشكال التوثيق بحد ذاته. ومع ذلك، يظل التوثيق الجيد ضروريًا ويوفر الفوائد التالية:

  • تعزيز التعاون.

  • تحسين قابلية الصيانة.

  • تسريع تطوير البرمجيات.

  • تبسيط عملية الإعداد.

تعزيز التعاون

يُسهم توثيق التعليمات البرمجية بصورة جيدة في تعزيز التعاون والتواصل داخل فِرق التطوير. ويمكن لأعضاء الفريق الاستفادة من توثيق التعليمات البرمجية كلغة مشتركة لإجراء مراجعات التعليمات ومناقشة التغييرات واتخاذ القرارات بشكل جماعي.

تحسين قابلية الصيانة

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

تسريع تطوير البرمجيات

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

تبسيط عملية الإعداد

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

نصائح لكتابة توثيق فعَّال للتعليمات البرمجية

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

  • وضع معايير لتوثيق التعليمات البرمجية.

  • دمج التوثيق مع البرمجة.

  • الوضوح والإيجاز عنصران أساسيان.

  • توثيق قرارات البرمجة.

  • الحفاظ على تحديث التوثيق.

وضع معايير لتوثيق التعليمات البرمجية

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

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

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

الوضوح والإيجاز عنصران أساسيان

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

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

توثيق قرارات البرمجة

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

الحفاظ على تحديث التوثيق

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

تطوير التطبيقات

ابدأ الآن بتطوير التطبيقات المؤسسية في السحابة

في هذا الفيديو، يناقش الدكتور Peter Haumer كيفية تطوير التطبيقات المؤسسية الحديثة في السحابة الهجينة اليوم من خلال عرض مكونات وممارسات مختلفة، بما في ذلك IBM Z Open Editor وIBM Wazi وZowe. 

أدوات توثيق التعليمات البرمجية

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

  • Doxygen

  • GitBook

  • Javadoc

  • JSDoc

  • Sphinx

Doxygen

يدعم Doxygen العديد من لغات البرمجة، مثل C و++C وJava وPHP وPython. ويُتيح عرض المحتوى بصيغة Markdown، كما يمكنه إنشاء وثائق التعليمات البرمجية بتنسيقات HTML وPDF وXML. ويمكن تخصيص Doxygen من خلال ملف إعدادات، كما يوفر إمكانية إنشاء مخططات توضِّح التسلسلات الهرمية المرئية والعلاقات بين الفئات والوظائف.

GitBook

يوفر GitBook واجهة مستخدم لكتابة الوثائق ونشرها في صورة موقع ويب، ما قد يجعل التوثيق الداخلي والخارجي أكثر كفاءة. كما تُتيح المنصة مزامنة المحتوى مع مستودعات GitHub أو GitLab.

Javadoc

تعمل أداة Javadoc على تحليل تعليقات التوثيق الموجودة داخل التعليمات البرمجية المصدر للغة Java لتوثيق واجهات برمجة التطبيقات (API) بتنسيق HTML. ويمكنها توثيق الفئات (Classes) والبُناة (Constructors) والحقول (Fields) والواجهات (Interfaces) والأساليب (Methods).

JSDoc

وعلى غرار Javadoc، تعمل JSDoc على توثيق واجهات برمجة التطبيقات (API) لمشروعات JavaScript. وقد طوَّر مجتمعها مفتوح المصدر قوالب وأدوات لتخصيص التوثيق.

Sphinx

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

الذكاء الاصطناعي التوليدي لتوثيق التعليمات البرمجية

تقتصر أدوات إنشاء وثائق التعليمات البرمجية على التعليقات التوضيحية التي تعثر عليها داخل التعليمات البرمجية المصدر. أما الذكاء الاصطناعي التوليدي فيرتقي بعملية التوثيق خطوة إضافية، إذ يحلل مقطعًا محددًا من التعليمات البرمجية ويضيف تعليقات توضِّح الغرض منه وآلية عمله. ويتضمن العديد من النماذج اللغوية الكبيرة (LLMs) المخصصة للبرمجة إمكانات مدمجة لإنشاء الوثائق.

فعلى سبيل المثال، يمكن للمساعد ®IBM Bob إنشاء أسطر من التعليقات التوضيحية لوظيفة واحدة أو لجميع الوظائف داخل فئة. وتشمل الأدوات المشابهة الأخرى GitHub Copilot وJetBrains AI Assistant وMintlify وTabnine.

وكما هو الحال مع أي نظام ذكاء اصطناعي، لا يزال يتعين على المطورين مراجعة مخرجات أدوات توثيق التعليمات البرمجية المدعومة بالذكاء الاصطناعي للتأكد من اكتمالها ودقتها.

المؤلفون

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

حلول ذات صلة
IBM Bob

تسريع عملية تسليم البرامج مع Bob، شريكك المدعوم بالذكاء الاصطناعي للتطوير الآمن والمدرك للأهداف.

استكشف ®IBM Bob
حلول البرمجة بالذكاء الاصطناعي

عزّز كفاءة تطوير البرمجيات باستخدام أدوات موثوقة مدعومة بالذكاء الاصطناعي تساعد في تقليل الوقت المستغرق في كتابة التعليمات البرمجية، وتصحيح الأخطاء، وإعادة هيكلة التعليمات البرمجية، وإكمالها تلقائيًا—مما يمنح المطورين مساحة أكبر للابتكار.

استكشِف حلول البرمجة المدعومة بالذكاء الاصطناعي
الاستشارات والخدمات المتعلقة بالذكاء الاصطناعي

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

استكشف خدمات استشارات الذكاء الاصطناعي
اتخذ الخطوة التالية

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

  1. اكتشف IBM® Bob
  2. استكشِف حلول البرمجة المدعومة بالذكاء الاصطناعي