Aprenda Go com Testes
main
main
  • Introdução
  • Aprenda Go com Testes
  • Primeiros Passos com Go
    • Instalação do Go
    • Olá, mundo
    • Inteiros
    • Iteração
    • Arrays e slices
    • Estruturas, métodos e interfaces
    • Ponteiros e erros
    • Maps
    • Injeção de dependência
    • Mocks
    • Concorrência
    • Select
    • Reflexão
    • Sync
    • Contexto
  • Criando uma aplicação
    • Introdução
    • Servidor HTTP
    • JSON, roteamento e aninhamento
    • IO e sorting
    • Linha de comando e estrutura de pacotes
    • Tempo
    • Websockets
  • Perguntas e respostas
    • OS Exec
    • Tipos de erro
  • Meta
    • Por que testes unitários?
    • Como contribuir
    • Como traduzir
    • Exemplo de capítulo
    • Glossário
Powered by GitBook
On this page
  • Motivação
  • Explicação
  • O que não funcionou
  • O que funcionou
  • O que funcionou para mim
  • Para quem isso foi feito
  • O que vamos precisar
  • Feedback

Was this helpful?

Aprenda Go com Testes

PreviousIntroduçãoNextInstalação do Go

Last updated 3 years ago

Was this helpful?

  • Formatos: ,

  • Versão original:

Motivação

  • Explore a linguagem Go escrevendo testes

  • Tenha uma base com TDD. O Go é uma boa linguagem para aprender TDD por ser simples de aprender e ter testes nativamente

  • Tenha confiança de que você será capaz de escrever sistemas robustos e bem testados em Go

Explicação

Tenho experiência em apresentar Go a equipes de desenvolvimento e tenho testado abordagens diferentes sobre como evoluir um grupo de pessoas que têm curiosidade sobre Go para criadores extremamente eficazes de sistemas em Go.

O que não funcionou

Ler o livro

Amo esse livro, mas ele exige muito comprometimento. O livro é bem detalhado na explicação de conceitos, o que obviamente é ótimo, mas significa que o progresso é lento e uniforme - não é para todo mundo.

Descobri que apenas um pequeno número de pessoas pegaria o capítulo X para ler e faria os exercícios, enquanto que a maioria não.

Resolver alguns problemas

Katas são divertidos, mas geralmente se limitam ao escopo de aprender uma linguagem; é improvável que você use goroutines para resolver um kata.

Outro problema é quando você tem níveis diferentes de entusiasmo. Algumas pessoas aprendem mais da linguagem que outras e, quando demonstram o que já fizeram, confundem essas pessoas apresentando funcionalidades que as outras ainda não conhecem.

Isso acaba tornando o aprendizado bem desestruturado e específico.

O que funcionou

Com o tempo, a equipe ganhou uma base sólida da gramática da linguagem para que conseguíssemos começar a desenvolver sistemas.

Para mim, é semelhante à ideia de praticar escalas quando se tenta aprender a tocar violão.

Não importa quão artístico você seja; é improvável que você crie músicas boas sem entender os fundamentos e praticando os mecanismos.

O que funcionou para mim

Quando eu aprendo uma nova linguagem de programação, costumo começar brincando em um REPL, mas hora ou outra preciso de mais estrutura.

O que eu gosto de fazer é explorar conceitos e então solidificar as ideias com testes. Testes certificam de que o código que escrevi está correto e documentam a funcionalidade que aprendi.

Usando minha experiência de aprendizado em grupo e a minha própria, vou tentar criar algo que seja útil para outras equipes. Aprender os conceitos escrevendo testes pequenos para que você possa usar suas habilidades de desenvolvimento de software e entregar sistemas ótimos.

Para quem isso foi feito

  • Pessoas que se interessam em aprender Go.

  • Pessoas que já sabem Go, mas querem explorar testes com TDD.

O que vamos precisar

  • Um computador!

  • Um editor de texto

  • Experiência com programação. Entendimento de conceitos como if, variáveis, funções etc.

  • Se sentir confortável com o terminal

Feedback

Uma abordagem que tentamos foi pegar e toda semana discutir um capítulo junto de exercícios.

De longe, a forma mais eficaz foi apresentar os conceitos da linguagem aos poucos lendo o , explorando-o com exemplos e discutindo-o como um grupo. Essa abordagem foi bem mais interativa do que "leia o capítulo X como lição de casa".

Crie issues/submita PRs ou .

Para a versão em português, submita um PR ou entre em contato comigo pelo .

Que estrela!

Assista a um vídeo ou leia sobre o motivo pelo qual testes unitários e TDD são importantes
o livro azul
go by example
Go instalado
aqui
me envie um tweet em @quii
aqui
meu site
MIT license
Logo criado por egonelbre
Arte por Denise
Gitbook
EPUB ou PDF
English