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