جافادوك
جافادوك (يُكتب أيضًا JavaDoc أو javadoc ) هو مولد توثيق واجهة برمجة التطبيقات (API) للغة البرمجة جافا . يعتمد جافادوك على المعلومات الموجودة في شفرة مصدر جافا ، ويُنشئ توثيقًا بتنسيق HTML وتنسيقات أخرى عبر الإضافات . [ 1 ] تم تطوير جافادوك بواسطة شركة صن مايكروسيستمز ، وتملكه اليوم شركة أوراكل .
يتم التحكم في محتوى وتنسيق المستند الناتج عبر علامات خاصة في تعليقات شفرة المصدر . ولأن هذه العلامات تُعدّ معيارًا فعليًا وشائعة الاستخدام لتوثيق شفرة جافا، [ 2 ] فإن العديد من بيئات التطوير المتكاملة (IDEs) تستخرج وتعرض معلومات Javadoc أثناء عرض شفرة المصدر، غالبًا عبر تمرير مؤشر الماوس فوق رمز مرتبط. تدعم بعض بيئات التطوير المتكاملة، مثل IntelliJ IDEA و NetBeans و Eclipse ، إنشاء قوالب تعليقات Javadoc. [ 3 ]@tag وقد أعيد استخدام صيغة علامات Javadoc من قِبل مولدات توثيق أخرى، بما في ذلك Doxygen و JSDoc و EDoc و HeaderDoc .
يدعم Javadoc التوسيع عبر doclets وtaglets، مما يسمح بإنشاء تنسيقات إخراج مختلفة وإجراء تحليل ثابت لقاعدة التعليمات البرمجية . على سبيل المثال، يُبلغ JDiff عن التغييرات بين إصدارين من واجهة برمجة التطبيقات (API).
على الرغم من أن البعض ينتقدون Javadoc ومولدات وثائق واجهة برمجة التطبيقات بشكل عام، إلا أن أحد دوافع إنشاء Javadoc هو أن وثائق واجهة برمجة التطبيقات التقليدية (الأقل آلية) غالبًا ما تكون قديمة أو غير موجودة بسبب قيود العمل مثل محدودية توافر الكتاب التقنيين . [ 4 ]
يُعد Javadoc جزءًا من Java منذ إصدارها الأول، ويتم تحديثه غالبًا مع كل إصدار من Java Development Kit . [ 5 ]
لا تؤثر تعليقات Javadoc وتعليقات التعليمات البرمجية المصدرية المستخدمة بواسطة Javadoc على أداء ملف Java القابل للتنفيذ لأن التعليقات يتم تجاهلها بواسطة المترجم.
ترميز
يتجاهل Javadoc التعليقات ما لم يتم تمييزها بشكل خاص. يُشار إلى تعليق Javadoc بعلامة نجمة إضافية بعد بداية التعليق متعدد الأسطر: /**. تُسبق الأسطر التالية بعلامة *، ويجب إنهاء كتلة التعليق بأكملها بعلامة */.
فيما يلي مثال على تعليق Javadoc للطريقة:
/** * وصف وظيفة الدالة. * * @param input وصف المعامل. * @return وصف القيمة المُعادة. * @throws Exception وصف الاستثناء. */ public int methodName ( String input ) throws Exception { ... }بعض وسوم HTML ، مثل <p><h1> <head>و <h2> و <nav><h3>، مدعومة في Javadoc.
تخفيض السعر
ابتداءً من Java 23، يدعم Javadoc معيار Markdown CommonMark في أسطر التعليقات التي تبدأ بـ ///بدلاً من تنسيق الأسطر المتعددة القديم. [ 6 ]
دوكليت
يعمل برنامج Doclet مع Javadoc لاختيار المحتوى المراد تضمينه في التوثيق، وتنسيق عرض المحتوى، وإنشاء الملف الذي يحتوي على التوثيق. [ 7 ] يُكتب برنامج Doclet بلغة Java ويستخدم Doclet API...
الStandardDocletيُنشئ Javadoc المُضمّن وثائق واجهة برمجة التطبيقات (API) كملفات HTML قائمة على الإطارات . تتوفر أدوات Doclets أخرى على الإنترنت ، وغالبًا ما تكون مجانية. يمكن استخدامها للأغراض التالية:
الوسوم
بعض علامات Javadoc المتاحة [ 8 ] مدرجة في الجدول أدناه:
| بناء الجملة | الاستخدام | ينطبق على | منذ |
|---|---|---|---|
| اسم المؤلف | يُحدد المؤلف مثل "بات سميث" | الفئة، الواجهة، التعداد | |
| { @docRoot } | يمثل المسار النسبي إلى الدليل الجذر للمستند المُنشأ من أي صفحة مُنشأة | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| @version version | معلومات الإصدار | الوحدة، الحزمة، الفئة، الواجهة، التعداد | |
| @since since-text | يصف هذا متى ظهرت هذه الخاصية لأول مرة. | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| انظر المرجع | روابط لعناصر أخرى من الوثائق | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| @param name description | يصف معلمة طريقة | طريقة | |
| @return description | يصف القيمة المُعادة | طريقة | |
| @exception اسم الفئة الوصف @throws اسم الفئة الوصف | يصف هذا الاستثناء الذي قد يتم طرحه من هذه الطريقة | طريقة | |
| وصف مهمل | يشير إلى أن هذه الطريقة قديمة. | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| { @inheritDoc } | ينسخ الوصف من الطريقة المُعاد تعريفها | طريقة التجاوز | 1.4.0 |
| { @link reference } | رابط إلى رمز آخر | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| { @linkplain reference } | مطابق لـ {@link}، باستثناء أن تسمية الرابط تُعرض بنص عادي بدلاً من خط الكود. | الفئة، الواجهة، التعداد، الحقل، الأسلوب | |
| { @value #STATIC_FIELD } | إرجاع قيمة حقل ثابت | المجال الساكن | 1.4.0 |
| { @code literal } | يُنسق النص الحرفي بخط الكود؛ وهو ما يعادل{@literal} | الفئة، الواجهة، التعداد، الحقل، الأسلوب | 1.5.0 |
| { @literal literal } | يشير إلى نص حرفي؛ ويُفسر النص المضمن على أنه لا يحتوي على ترميز HTML أو علامات جافا دوك متداخلة. | الفئة، الواجهة، التعداد، الحقل، الأسلوب | 1.5.0 |
| { @serial literal } | يشير إلى حقل قابل للتسلسل افتراضي | مجال | |
| { @serialData literal } | يشير إلى البيانات المكتوبة بواسطة writeObject( )أو writeExternal( )الطرق | المجال، الطريقة | |
| { @serialField literal } | يشير إلى ObjectStreamFieldمكون | مجال |
انظر أيضاً
مراجع
- ↑ "Javadoc" . agile.csc.ncsu.edu . مؤرشف من الأصل في 13 يونيو 2017. تم الاطلاع عليه في 12 يناير 2022 .
- ↑ "javadoc - مولد وثائق واجهة برمجة تطبيقات جافا" . شركة صن مايكروسيستمز . تم الاطلاع عليه بتاريخ 30-09-2011 ..
- ↑ IntelliJ IDEA ، وNetBeans (مؤرشفة بتاريخ 5 أبريل 2017 في Wayback Machine) و Eclipse
- ↑ فينرز، بيل؛ جوسلينج، جيمس؛ وآخرون . (8 يوليو 2003). "التصور باستخدام JavaDoc" . artima.com . تم الاطلاع عليه في 19 يناير 2013.
عندما أنشأتُ JavaDoc الأصلي في المُصرّف الأصلي، حتى المقربون مني انتقدوه بشدة. وكان الأمر مثيرًا للاهتمام، لأن الانتقاد المعتاد كان: بإمكان كاتب تقني جيد أن يُقدّم عملًا أفضل بكثير مما يُقدّمه JavaDoc. والإجابة هي، حسنًا، نعم، ولكن كم عدد واجهات برمجة التطبيقات (APIs) التي يُوثّقها بالفعل كُتّاب تقنيون جيدون؟ وكم منهم يُحدّثون توثيقهم بشكل كافٍ ليكون مفيدًا؟
- ↑ "كيفية كتابة تعليقات التوثيق لأداة Javadoc" . شركة صن مايكروسيستمز . تم الاطلاع عليه بتاريخ 30-09-2011 ..
- ↑ "JEP 467: تعليقات توثيق Markdown" . OpenJDK . 2023-09-11 . تم الاطلاع عليه بتاريخ 2025-09-10 .
- ↑ "نظرة عامة على Doclet" .
- ↑ مواصفات تعليق توثيق JavaSE 13
روابط خارجية
- الصفحة الرئيسية لأداة Javadoc
- دليل Javadoc لمنصة Java، الإصدار القياسي
- طلب مواصفات جافا لتحديث تقنية علامات جافا دوك JSR 260 (يحدد علامات جافا دوك الجديدة)
- تحسين Javadoc باستخدام ashkelon
- تم تحويل العديد من وثائق جافا إلى تنسيق مساعدة ويندوز
- مولدات الوثائق المجانية
- تنسيقات توثيق شفرة المصدر
- أدوات تطوير جافا
