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) |