- Formatos: Gitbook, EPUB ou PDF
- Versão original: English
- 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
- Assista a um vídeo ou leia sobre o motivo pelo qual testes unitários e TDD são importantes
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.
Uma abordagem que tentamos foi pegar o livro azul e toda semana discutir um capítulo junto de exercícios.
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.
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.
De longe, a forma mais eficaz foi apresentar os conceitos da linguagem aos poucos lendo o go by example, 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".
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.
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.
- Pessoas que se interessam em aprender Go.
- Pessoas que já sabem Go, mas querem explorar testes com TDD.
- Um computador!
- Go instalado
- 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
- Crie issues/submita PRs aqui ou me envie um tweet em @quii.
- Para a versão em português, submita um PR aqui ou entre em contato comigo pelo meu site.
Logo criado por egonelbre Que estrela!