58 lines
3.0 KiB
Markdown
58 lines
3.0 KiB
Markdown
|
---
|
|||
|
title: Documentation
|
|||
|
localeTitle: Документация
|
|||
|
---
|
|||
|
## Документация
|
|||
|
|
|||
|
Одним из лучших в Elixir по сравнению с другими языками программирования является его система документации. Документация Elixir создается вашими комментариями кодов и превращается в довольно HTML-сайт, чтобы вы могли легко просматривать и понимать, как работает приложение. Как только вы поймете, как правильно комментировать код в Elixir, вы сможете объяснить, как ваше приложение работает с другими программистами с легкостью. В приведенных ниже примерах мы показываем использование функций документации Elixir в вымышленном модуле веб-сервера.
|
|||
|
|
|||
|
### Встроенная документация
|
|||
|
|
|||
|
Документация Inline использует `#` перед текстом, описывающим что-то о коде.
|
|||
|
|
|||
|
```elixir
|
|||
|
def get(path) do
|
|||
|
# This is an inline comment for documentation purposes.
|
|||
|
"http get request response"
|
|||
|
end
|
|||
|
```
|
|||
|
|
|||
|
### Документация модуля
|
|||
|
|
|||
|
В документе модуля описывается назначение модуля. Moduledocs похожи на многострочные комментарии, которые вы найдете на других языках программирования.
|
|||
|
|
|||
|
```elixir
|
|||
|
defmodule WebServer do
|
|||
|
@moduledoc """
|
|||
|
Provides a set of functions to accept and respond to HTTP requests.
|
|||
|
This module provides the @get/1, @post/1, and @put/1 functions.
|
|||
|
"""
|
|||
|
end
|
|||
|
```
|
|||
|
|
|||
|
### Функциональная документация
|
|||
|
|
|||
|
Документация по функциям описывает назначение и использование одной функции. Functiondocs аналогичны многострочным комментариям, которые вы найдете на других языках программирования. Он также показывает примеры функции, поэтому другой программист знает, чего ожидать.
|
|||
|
|
|||
|
```elixir
|
|||
|
@doc """
|
|||
|
Responds to a get request
|
|||
|
|
|||
|
## Parameters
|
|||
|
- path: A path to the desired resource
|
|||
|
|
|||
|
## Examples
|
|||
|
- iex> WebServer.get(/documentation.pdf)
|
|||
|
"Returning documentation.pdf
|
|||
|
- iex> WebServer.get(/downloads.html)
|
|||
|
"Returning downloads.html"
|
|||
|
"""
|
|||
|
def get(path) do
|
|||
|
"http get request response"
|
|||
|
end
|
|||
|
```
|
|||
|
|
|||
|
#### Дополнительная информация:
|
|||
|
|
|||
|
* [ElixirSchool - Документация](https://elixirschool.com/en/lessons/basics/documentation/)
|
|||
|
* [ExDoc](https://github.com/elixir-lang/ex_doc)
|