לדלג לתוכן

Doxygen

מתוך ויקיפדיה, האנציקלופדיה החופשית
אנו דנים כעת בשאלה האם ערך זה עומד בקריטריונים להיכלל בוויקיפדיה. אתם מוזמנים לשפר ולהרחיב את הערך על מנת להסיר את הספקות, וכן להשתתף בדיון בדף השיחה של הערך.
הדיון אורך שבוע, וניתנת בו הזדמנות להביע תמיכה מנומקת בהשארת הערך. הערך יימחק בתום שבוע ימים, אלא אם כן הובעה תמיכה שכזו בידי עורך או עורכת בעלי זכות הצבעה מלבד יוצר או יוצרת הערך. (התבנית הוצבה בתאריך 16.02.2021).
אנו דנים כעת בשאלה האם ערך זה עומד בקריטריונים להיכלל בוויקיפדיה. אתם מוזמנים לשפר ולהרחיב את הערך על מנת להסיר את הספקות, וכן להשתתף בדיון בדף השיחה של הערך.
הדיון אורך שבוע, וניתנת בו הזדמנות להביע תמיכה מנומקת בהשארת הערך. הערך יימחק בתום שבוע ימים, אלא אם כן הובעה תמיכה שכזו בידי עורך או עורכת בעלי זכות הצבעה מלבד יוצר או יוצרת הערך. (התבנית הוצבה בתאריך 16.02.2021).
Doxygen
מחזור חיים 26 באוקטובר 1997 – הווה (27 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 1.13.2 (9 בינואר 2025) עריכת הנתון בוויקינתונים
גרסת בטא 1.9.1[1]
ב־תבנית:Start date and age
מערכת הפעלה Mac OS, Microsoft Windows, מערכת הפעלה דמוית יוניקס עריכת הנתון בוויקינתונים
נכתבה בשפות C++
סוג רישיון GPL-2.0 עריכת הנתון בוויקינתונים
קוד מקור https://github.com/doxygen/doxygen עריכת הנתון בוויקינתונים
Cross-platform

www.doxygen.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

דוקסיג'ן (באנגלית: Doxygen /ד ɒ k s i dʒ ən / DOK -see-jən)[2] הוא מחולל תיעוד,[3][4][5][6] כלי לכתיבת תיעוד הפניה לתוכנה. התיעוד נכתב בתוך מקטע הקוד ובכך קל יחסית לשמור על עדכניותו. דוקסיג'ן יכול להצליב תיעוד וקוד, כך שקורא המסמך יכול להתייחס בקלות לשורות הקוד בפועל.

דוקסיג'ן הוא תוכנה חינמית, המופצת תחת תנאי גרסת הרישיון הציבורי הכללי של GNU 2 (GPLv2).

עיצוב

כמו Javadoc, דוקסיג'ן מחלץ תיעוד מהערות בקובץ המקור. בנוסף לתחביר Javadoc, דוקסיג'ן תומך בתגי התיעוד המשמשים בערכת הכלים Qt ויכול להפיק פלט בשפת HyperText Markup (HTML) כמו גם ב- Microsoft Compiled HTML Help, תבנית מלל עשיר (RTF), תבנית מסמך נייד (PDF), LaTeX, PostScript או דפי man.

שימושים

שפות תכנות הנתמכות על ידי דוקסיג'ן כוללות C,[7] C ++, C #, D, Fortran, IDL, Java, Objective-C,[8] Perl,[9] PHP,[10] Python,[11][12] ו-VHDL.[13] ניתן לתמוך בשפות נוספות באמצעות הוספת קוד.

דוקסיג'ן פועל ברוב המערכות דמויי יוניקס, MacOS ו-Windows.

הגרסה הראשונה של דוקסיג'ן השאילה קוד מגרסה מוקדמת של ++DOC, שפותחה על ידי רולנד וונדרלינג ומלטה זוקלר במכון Zuse Berlin. מאוחר יותר, קוד דוקסיג'ן שוכתב מחדש על ידי דימיטרי ואן היץ'.

לדוקסיג'ן תמיכה מובנית ליצירת דיאגרמות ירושה עבור שכבות ++C. לקבלת דיאגרמות ותרשימים מתקדמים יותר, דוקסיג'ן יכול להשתמש בכלי "dot" של Graphviz.[14]

קוד לדוגמה

התחביר הגנרי של הערות תיעוד הוא להתחיל הערה בכוכבית נוספת לאחר תיחום ההערות המוביל

'/ *':

/**
<A short one line description>

<Longer description>
<May span multiple lines or paragraphs as needed>

@param Description of method's or function's input parameter
@param ...
@return Description of the return value
*/

תוכניתנים רבים אוהבים לסמן את ההתחלה של כל שורה רווח-כוכבית-רווח, כדלקמן, אך אין זה הכרחי.

/**
 * <A short one line description>
 *
 * <Longer description>
 * <May span multiple lines or paragraphs as needed>
 *
 * @param  Description of method's or function's input parameter
 * @param  ...
 * @return Description of the return value
 */

תוכניתנים רבים נמנעים משימוש בהערות בסגנון C ובמקום זאת משתמשים בהערות בשורה יחידה בסגנון ++C. דוקסיג'ן מקבל הערות עם קו נטוי נוסף כהערות דוקסיג'ן.

/// <A short one line description>
///
/// <Longer description>
/// <May span multiple lines or paragraphs as needed>
///
/// @param  Description of method's or function's input parameter
/// @param  ...
/// @return Description of the return value

להלן המחשה על אופן תיעוד קובץ מקור ++C.

צילום מסך של איך הפלט ייראה ב-HTML
/**
 * @file
 * @author  John Doe <jdoe@example.com>
 * @version 1.0
 *
 * @section LICENSE
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details at
 * https://www.gnu.org/copyleft/gpl.html
 *
 * @section DESCRIPTION
 *
 * The time class represents a moment of time.
 */

class Time {

    public:

       /**
        * Constructor that sets the time to a given value.
        *
        * @param timemillis is a number of milliseconds
        *        passed since Jan 1, 1970.
        */
       Time (int timemillis) {
           // the code
       }

       /**
        * Get the current time.
        *
        * @return A time object set to the current time.
        */
       static Time now () {
           // the code
       }
};

גישה חלופית לתיעוד משתנים מוצגת להלן. תוצאת מבנה התיעוד תהיה זהה.

       /**
        * Constructor that sets the time to a given value.
        */
       Time (int timemillis ///< Number of milliseconds passed since Jan 1, 1970.>
            )
       {
           // the code
       }

שפת סימון עשירה יותר אפשרית גם כן. לדוגמה, הוספת משוואות באמצעות פקודות LaTeX :

/**
 *
 * An inline equation @f$ e^{\pi i}+1 = 0 @f$
 *
 * A displayed equation: @f[ e^{\pi i}+1 = 0 @f]
 *
 */

מקור ופיתוח דוקסיג'ן

קוד המקור של דוקסיג'ן מתארח כיום ב-GitHub, שם המפתח הראשי, דימיטרי ואן היץ', תורם תחת שם המשתמש "דוקסיג'ן".[15] דוקסיג'ן כתוב בשפת ++C, וכולל למעלה מ-300,000 שורות קוד מקור. לצורך ניתוח לקסיקלי, הכלי הסטנדרטי <a href="https://en.wikipedia.org/wiki/Lex_(software)" rel="mw:ExtLink" title="Lex (software)" class="cx-link" data-linkid="126">Lex</a> (או מחליפו Flex) מופעל על יותר מ-35,000 שורות של תסריטי Lex. נעשה שימוש בכלי הניתוח Yacc (או מחליפו Bison), אך רק למשימות קלות; עיקר ניתוח השפה נעשה על ידי קוד ++C מקורי. תהליך הבנייה מבוסס על CMake וכולל גם כמה תסריטים של פייתון.

ראו גם

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא Doxygen בוויקישיתוף

הערות שוליים

  1. ^ http://www.doxygen.nl/manual/changelog.html
  2. ^ FAQ: How did doxygen get its name?
  3. ^ Perkel, Jeffrey M. (2015-11-22). "Get With the Program: DIY tips for adding coding to your analysis arsenal". The Scientist (Journal). The Scientist.
  4. ^ Sabin, Mihaela (2015-11-22). "Doxygen". OpenComputing (Wiki). University of New Hampshire. אורכב מ-המקור ב-2015-11-23.
  5. ^ "Doxygen". Free Software Directory (Wiki). 2015-11-22.
  6. ^ "Documentation". Rosetta Code (Wiki). 2015-11-22.
  7. ^ "Documentation: C". Rosetta Code (Wiki). 2015-11-22.
  8. ^ "Documentation: Objective-C". Rosetta Code (Wiki). 2015-11-22.
  9. ^ http://search.cpan.org/perldoc?Doxygen%3A%3AFilter%3A%3APerl
  10. ^ http://www.doxygen.nl/manual/starting.html
  11. ^ "Automatic Python API documentation generation tools". python.org wiki (Wiki). 2015-11-22.
  12. ^ https://pypi.python.org/pypi/doxypypy/
  13. ^ http://www.doxygen.nl/manual/starting.html
  14. ^ http://www.doxygen.nl/manual/diagrams.html
  15. ^ https://github.com/doxygen/doxygen