توثيق كود Kotlin: كتابة كود يشرح نفسه بنفسه

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

التوثيق في مشاريع Kotlin: فن أن تكون مفهومًا

\n\n

تخيل: تفتح مشروع Kotlin لشخص آخر. الكود جميل ومختصر، لكن... لا تفهم ما الغرض من هذه الدالة وماذا تُرجع. هل هذا مألوف؟ والآن تخيل أن هذا المشروع هو مشروعك الخاص، ولكن بعد ستة أشهر. التوثيق في Kotlin ليس مجرد مجاملة للزملاء. إنه استثمار في مستقبل كودك.

\n\n

في هذه المقالة، سنستعرض أفضل ممارسات توثيق مشاريع Kotlin. ستتعلم كيفية استخدام KDoc وDokka والتعليقات العادية بحيث يتحدث كودك عن نفسه. هيا بنا!

\n\n

لماذا التوثيق في Kotlin ليس مملًا؟

\n\n

Kotlin هي لغة صُممت للبشر. تُقرأ مثل اللغة الإنجليزية، وتركيبها يخلصك من الكود المتكرر. ولكن حتى أكثر الأكواد أناقة يمكن أن تكون لغزًا بدون توثيق. خاصة عندما يتعلق الأمر بـ:

\n\n
    \n
  • منطق الأعمال المعقد؛
  • \n
  • المكتبات وواجهات برمجة التطبيقات (API) التي يستخدمها مطورون آخرون؛
  • \n
  • مشاريع Android ذات دورة حياة طويلة؛
  • \n
  • الحلول المؤسسية حيث تغيير الموظفين أمر طبيعي.
  • \n
\n\n

التوثيق الجيد لـ Kotlin يحل ثلاث مهام: يشرح "ماذا" يفعل الكود، "لماذا" يفعله، و"كيف" تستخدمه. بدونه، تخاطر بالحصول على كود لا يريد أحد لمسه (حتى أنت بنفسك).

\n\n

KDoc: الأداة الرئيسية لتوثيق Kotlin

\n\n

KDoc هو نظير JavaDoc لـ Kotlin. يستخدم تعليقات من النوع /** ... */ ويدعم Markdown. هذا هو المعيار الفعلي للتوثيق في مشاريع Kotlin.

\n\n

إليك مثال أساسي:

\n\n
/**\n * يحسب الخصم للمستخدم بناءً على حالته.\n *\n * @param price السعر الأصلي للمنتج.\n * @param userLevel مستوى المستخدم (BRONZE, SILVER, GOLD).\n * @return السعر النهائي بعد الخصم.\n * @throws IllegalArgumentException إذا كان price سالبًا.\n */\nfun calculateDiscount(price: Double, userLevel: UserLevel): Double {\n    // المنطق\n}
\n\n

لاحظ: يستخدم KDoc الوسوم @param و@return و@throws. ولكن على عكس JavaDoc، يمكنك كتابة Markdown مباشرة داخل التعليق. هذا مناسب للقوائم والروابط والتنسيق.

\n\n

أفضل ممارسات KDoc

\n\n
    \n
  • اكتب للبشر، وليس للآلات. لا تكرر ما هو واضح من الكود. بدلاً من // يحدد القيمة اكتب // يحدد القيمة التي ستستخدم عند حساب الضرائب.
  • \n
  • وثق واجهة برمجة التطبيقات العامة (public API). الدوال الداخلية (private أو internal) يمكن توثيقها باختصار أو عدم توثيقها على الإطلاق.
  • \n
  • استخدم @see و @sample. أشر إلى الدوال ذات الصلة أو أمثلة الاستخدام.
  • \n
  • لا تنسَ @receiver لدوال الإضافة (extension functions).
  • \n
\n\n

Dokka: تحويل التعليقات إلى توثيق جميل

\n\n

Dokka هو مولد توثيق لـ Kotlin. يمكنه إنشاء HTML وMarkdown وJavaDoc وحتى توثيق للمشاريع متعددة المنصات. إذا كنت تكتب مكتبة أو تعمل ضمن فريق، فإن Dokka هو أفضل صديق لك.

\n\n

التثبيت بسيط. في ملف build.gradle.kts، أضف الإضافة (plugin):

\n\n
plugins {\n    id("org.jetbrains.dokka") version "1.9.20"\n}
\n\n

ثم قم بتشغيل الأمر:

\n\n
./gradlew dokkaHtml
\n\n

سينشئ Dokka مجلد build/dokka/html مع توثيق جميل يتضمن جميع تعليقات KDoc الخاصة بك، وتسلسل الفئات، وحتى روابط للمصادر.

\n\n

نصائح حول Dokka

\n\n
    \n
  • قم بتعيين الشعار ووصف المشروع في dokkaConfiguration؛
  • \n
  • استخدم @suppress لإخفاء العناصر غير المرغوب فيها

المدونات

توصيات الكتب