freeCodeCamp/guide/portuguese/elixir/documentation/index.md

58 lines
2.1 KiB
Markdown

---
title: Documentation
localeTitle: Documentação
---
## Documentação
Um dos melhores avançados do Elixir, em comparação com outras linguagens de programação, é o seu sistema de documentação. A documentação do Elixir é criada pelos comentários do seu código e transformada em um bonito site HTML para você navegar com facilidade e entender como o aplicativo funciona. Depois de entender como comentar corretamente seu código no Elixir, você poderá explicar como o seu aplicativo funciona para outros programadores com facilidade. Nos exemplos abaixo mostramos o uso das funções de documentação do Elixir em um módulo de servidor web fictício.
### Documentação Inline
A documentação inline usa um `#` na frente do texto que descreve algo sobre o código.
```elixir
def get(path) do
# This is an inline comment for documentation purposes.
"http get request response"
end
```
### Documentação do Módulo
Documento de módulo descreve o propósito de um módulo. Moduledocs são semelhantes aos comentários multilinhas que você encontraria em outras linguagens de programação.
```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
```
### Função Documentação
Documentação de função descreve o propósito e uso de uma única função. Functiondocs são semelhantes aos comentários multilinha que você encontraria em outras linguagens de programação. Também mostra exemplos da função para que outro programador saiba o que esperar.
```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
```
#### Mais Informações:
* [ElixirSchool - Documentação](https://elixirschool.com/en/lessons/basics/documentation/)
* [ExDoc](https://github.com/elixir-lang/ex_doc)