Jump to content

Строка документации

В программировании строка документации — это строковый литерал, указанный в исходном коде , который используется, как комментарий , для документирования определенного сегмента кода. В отличие от обычных комментариев исходного кода или даже специально отформатированных комментариев, таких как docblocks , строки документации не удаляются из дерева исходного кода при его анализе и сохраняются на протяжении всего времени выполнения программы. Это позволяет программисту проверять эти комментарии во время выполнения, например, в виде интерактивной справочной системы или в виде метаданных .

Языки, поддерживающие строки документации, включают Python , Lisp , Elixir , Clojure , [1] Корнишон , [2] Юлия [3] и Хаскель . [4]

Примеры реализации

[ редактировать ]

Документация поддерживается на уровне языка в виде строк документации. Markdown Elixir — это фактический язык разметки для использования в строках документации:

def module MyModule do
  @moduledoc """
  Documentation for my module. With **formatting**.
  """

  @doc "Hello"
  def world do
    "World"
  end
end

В Lisp строки документации называются строками документации. Стандарт Common Lisp гласит, что конкретная реализация может отказаться от строк документации, когда захочет, и по любой причине. Когда они сохранены, строки документации можно просматривать и изменять с помощью функции ДОКУМЕНТАЦИЯ. [5] Например:

 (defun foo () "hi there" nil)
 (documentation #'foo 'function) => "hi there"

Обычная практика документирования объекта кода в начале его определения отражается добавлением синтаксиса строки документации в языке Python.

Строка документации для объекта кода Python (модуля, класса или функции) — это первый оператор этого объекта кода, следующий сразу за определением (оператор «def» или «class»). Оператор должен быть простым строковым литералом, а не каким-либо другим выражением. Строка документации для объекта кода доступна в файле этого объекта кода. __doc__ атрибут и через help функция.

В следующем файле Python показано объявление строк документации в исходном файле Python:

"""The module's docstring"""

class MyClass:
    """The class's docstring"""

    def my_method(self):
        """The method's docstring"""

def my_function():
    """The function's docstring"""

Предполагая, что приведенный выше код был сохранен как mymodule.py , ниже представлен интерактивный сеанс, показывающий, как можно получить доступ к строкам документации:

>>> import mymodule
>>> help(mymodule)
The module's docstring
>>> help(mymodule.MyClass)
The class's docstring
>>> help(mymodule.MyClass.my_method)
The method's docstring
>>> help(mymodule.my_function)
The function's docstring
>>>

Инструменты, использующие строки документации

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Определение функции с помощью строки документации в Clojure» . Архивировано из оригинала 29 января 2013 г. Проверено 20 сентября 2017 г.
  2. ^ «Пошаговые аргументы — строки документа» . Архивировано из оригинала 31 января 2016 г. Проверено 22 июня 2016 г.
  3. ^ «Документация — документация Julia Language 0.4.1» . docs.julialang.org . Архивировано из оригинала 17 ноября 2015 г.
  4. ^ «Документационные строки» .
  5. ^ CLHS: ДОКУМЕНТАЦИЯ по стандартным универсальным функциям...
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5224262738e7b3b9b397f5bfc9a1779a__1707155340
URL1:https://arc.ask3.ru/arc/aa/52/9a/5224262738e7b3b9b397f5bfc9a1779a.html
Заголовок, (Title) документа по адресу, URL1:
Docstring - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)