# Introdução

Quando eu estava aprendendo Go, encontrei [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/) e achei interessante. A utilização de teste em programas já é algo comum e resolve/evita problemas de manutenção, organização e execução. Deixando o código mais claro e fácil de entender.

Seguindo a mesma ideia, criei esse livro para ensinar elixir utilizando testes.

{% hint style="info" %}
Este livro ainda está sendo escrito, logo, algumas mudanças podem vir a serem feitas sem aviso prévio. Também pode ser encontrado algumas sessões em branco que serão atualizadas com o tempo.
{% endhint %}

Espero que gostem :)

### Sobre o Conteúdo

Todo o livro é estruturado em cima de testes. Isso significa que você ganhará com essa leitura três pontos importantes para qualquer programador:

1. Aprenderá os fundamentos da linguagem elixir;
2. Aprenderá como testar suas implementações em elixir;
3. Aprenderá como pensar em forma de testes;

Esse tipo de pensamento nos possibilta sermos o primeiro a usar nosso próprio código, não sendo raro ver mudança de legibilidade e manutenabilidade devido a isso. Também nos ajuda com entendimento de tarefas e contextos, sendo que precisamos saber o que queremos fazer para criar os testes. Uma vez o teste criado, temos um guia para seguir e fica mais claro nosso objetivo com o mesmo.

Esse tipo de pensamente chegará a você por meio de "eurekas" enquanto você escreve seu código. Espero conseguir passar esse entendimento que tenho sobre desenvolvimento guiado a testes ([TDD](https://martinfowler.com/bliki/TestDrivenDevelopment.html)) e como ele me ajuda no dia-a-dia a resolver problemas complexos e evoluir rapidamente em minhas tarefas.

### Sobre Feedback

Estou abrindo um novo canal de feedback, esse mais efetivo para entendimento do conteúdo.&#x20;

Caso não tenha ficado claro a explicação ou exemplos, agora você pode abrir uma issue no link abaixo, explicando o que está acontecendo. Isso irá ajudará a refinar o conteúdo desse livro, obtendo uma melhor qualidade na didática.

{% embed url="<https://github.com/iago-effting/aprenda-elixir-utilizando-testes/issues>" %}

### Contato

Pode me encontrar no twitter [@iagoEffting](https://twitter.com/iagoEffting)

Tenho também uma newsletter chamada [Café com Elixir](https://semanal.cafecomelixir.com.br/)

E um canal no youtube: [Iago Effting](https://www.youtube.com/channel/UCa4Z9RYii3K-DHCAk8JWV-g/)

Email: <iago@neurocoder.dev>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aprenda.cafecomelixir.com.br/introducao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
