Подтвердить что ты не робот

Синтаксис doxygen в python

Может кто-нибудь, пожалуйста, помогите мне выяснить, как правильно комментировать код python, чтобы получить синтаксический анализ doxygen?

Как-то он игнорирует теги. На выходе (HTML) отображаются теги:

@brief Creates a new Hello object.
This Hello Object is beeing used to ...

@param name The name of the user.

Оба варианта, которые я пробовал, не работают:

class Hello:
    """@brief short description...

    longer description
    """
    def __init__(self, name):
    """@brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    @param name The name of the user.
    """
        self.name = name

class Hello:
    """\brief short description...

    longer description
    """
    def __init__(self, name):
    """\brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    \param name The name of the user.
    """
        self.name = name
4b9b3361

Ответ 1

Doxygen также имеет недокументированную функцию (или ошибку): она анализирует синтаксис Doxygen в docstring, если вы начинаете docstring с восклицательным знаком:

class Hello: 
    def __init__(self, name):
    """[email protected] Creates a new Hello object.

    This Hello Object is being used to...

    @param name The name of the user.
    """
    self.name = name
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

Обратите внимание, что в Python docsting вам нужно использовать @вместо\для запуска команд Doxygen (обратная косая черта работает как escape-символ в docstring).

Ответ 2

Чтобы doxygen распознал специальные команды в комментариях Python, вы должны использовать следующую форму комментариев:

class Hello: 
    ## \brief Short description.
    # Longer description. 
    # \param self
    # \param name
    def __init__(self, name):         
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

См. Http://www.doxygen.nl/manual/docblocks.html#pythonblocks