10 de setembro de 2016 • 8 min de leitura
Curso JS com TDD na Prática e Novidades
Aprenda uma das melhores culturas de desenvolvimento e tenha portas abertas no mercado.
Índice
- Introdução
- O que é TDD e por que usar?
- TDD nas grandes empresas
- Ementa do Curso
- Perguntas Frequentes
- Módulo Extra: TDD no React
- Minha nova aventura
Introdução
Faaaala pessoal! Eu já deveria ter feito esse post há um bom tempinho atrás, mas estive bastante embolado, mas aos pouquinhos já estou conseguindo me organizar e também estou preparando coisinhas bem legais para vocês.
Não pode faltar uma boa trilha sonora nos meus posts, a de hoje será a trilha sonora do filme Once, é um filme maravilhoso que se passa em Dublin (atual cidade que estou morando, vou falar mais na frente sobre.)
Eu vou separar esse post em duas partes, uma será para falar um pouco sobre o curso e a outra parte será para dar novidades sobre minha vida e as coisas que estão me acontecendo =)
O que é TDD e por que usar?
TDD é o desenvolvimento de software orientado a testes, Test Driven Development em inglês. Porém mais do que simplesmente testar seu código, TDD é uma filosofia, uma cultura. E foi fortemente adotado e influenciado pelo movimento ágil.
De acordo com Kent Beck, um método ágil é comparável ao ato de dirigir um carro: você deve observar a estrada e fazer correções contínuas para se manter no caminho. Neste contexto onde a agilidade é fundamental, o testador seria aquele que ajuda o motorista a chegar com segurança ao seu destino, impedindo que sejam feitas conversões incorretas durante o percurso, evitando que o motorista se perca e fazendo com que ele pare e peça instruções quando necessário.
Neste ambiente, destaca-se o TDD, como sendo uma abordagem evolutiva na qual o desenvolvedor escreve o teste antes de escrever o código funcional necessário para satisfazer aquele teste.
Se você quiser ler mais sobre testes, eu escrevi um post bem completo sobre o assunto.
TDD nas grandes empresas
Como eu disse acima, o TDD é uma prática que te permite escrever um código com mais qualidade e menos passível de erros/bugs, sendo assim, muitas das empresas já aplicam essas boas práticas na maioria de seus produtos e algumas já colocam como requisito saber testes, ou seja, você não vai ficar para trás né? Olha umas vagas legais aí pedindo testes:
Ementa do Curso
Módulo 1
Será mais sobre o start de um projeto, falarei sobre styleguides, eslint, editorconfig, hooks e outros arquivos importantes para iniciar um projeto.
Módulo 2
Iremos ver/revisar as novas e importantes features do ES6, com pequenos exemplos e uma explicação bem direta e dinâmica de como podemos usar essas novas features a nosso favor.
Módulo 3
Será focado totalmente na teoria de testes, entendendo todos os conceitos, necessidades e as escolhas para bons testes.
Módulo 4
Iremos criar uma biblioteca bem simples, onde iremos aprender a criar o resto da estrutura de testes, como definir as bibliotecas de testes e coverage, rodar os scripts e escrever a biblioteca toda a partir de testes desde o zero.
Nesse módulo também veremos como colocar essa biblioteca no TravisCI e como publicá-la no NPM para que outras pessoas possam utilizar.
Módulo 5
Iremos aprender a fazer uma CLI em Node usando testes desde o zero. Uma CLI é bastante importante se você deseja automatizar algum processo e criar mini programas dentro do seu próprio terminal.
Dentro desse módulo, teremos como exercício, aplicar todas as coisas aprendidas no módulo 4 como coverage, CI e publicar no npm.
Módulo 6
Será sobre testes em React, iremos utilizar um boilerplate idealizado por mim, chamado Lyef, onde iremos aprender a criar componentes isolados e desenvolvidos em cima de testes.
Com o curso, a pessoa estará apta a trabalhar em 3 áreas bem distintas no desenvolvimento Javascript (bibliotecas, CLI's e aplicações) e irá poder escrever seus próprios testes durante o desenvolvimento.
Perguntas Frequentes
1) Tem como parcelar o curso?
Tem sim gente, dependendo da bandeira do cartão, pode ser em até 12x. Para isso é só você preencher seus dados do cartão na página de compra.
2) Já tem a ementa?
A espera acabou e temos a ementa completa, que você pode ver logo acima em ementa.
3) Quando o curso começa e como vai funcionar?
A partir do dia 15/10 (15 de Outubro) eu estarei começando a disponibilizar os módulos do curso e conforme os vídeos forem sendo criados, eu irei lançando, assim você vai ter tempo de ir estudando e praticando durante o curso, é claro, com todo o meu suporte para qualquer dúvida. Teremos um slack exclusivo para os alunos do curso, onde além de poderem tirar dúvidas comigo, também poderão conversar entre e si e fazer networking! Os módulos lançados estarão disponíveis para sempre e vocês poderão fazer no tempo que desejarem.
4) Vai ter certificado para quem concluir o curso? Preciso para usar na minha faculdade.
Sim, todos os alunos que completarem 100% do curso irão receber um certificado de 40h que poderá ser utilizado para contar como horas dentro da faculdade.
5) O que eu preciso saber para fazer o curso?
Você precisa de um conhecimento básico de Javascript, como conhecer variáveis, funções, controles de fluxo, etc. Tudo que será feito no curso, será do zero, então você não vai se perder com "passes mágicos".
6) O que você vai utilizar no curso? E vai ser só sobre testes?
Eu irei utilizar as principais ferramentas de testes para JS do mercado. Como Chai, Mocha, Sinon e Istanbul. Mas não ficarei só com a parte de testes, irei também ensinar como se iniciar uma boa estrutura para um projeto Javascript, assim como as melhores práticas. Tudo isso de forma bem fácil e principalmente, prática. O objetivo é profissionalizar a galera para trabalhar em empresas como a Globo.com, HUGE, Queremos, entre tantas outras que tive a oportunidade de trabalhar e saber como funcionam.
7) Quando o curso começa e quando termina?
O curso começa agora e nunca termina! Você quem irá decidir quando começar e quando terminar. Aproveite seu tempo livre e aquele tempo que você usava para ficar navegando no facebook.
9) Como funciona o curso?
São vários módulos divididos em pequenos vídeos, cada módulo tem o intuito de ensinar algum conceito básico e importante sobre Boas Práticas e Testes. Após todos os módulos, você estará apto a criar aplicações javascript modernas e com qualidade. Se quiser, dá uma olhada nos cursos disponíveis, tem cursos gratuitos lá para você poder ver o que acha.
Módulo 1: Boas Práticas
Nesse primeiro módulo, eu irei ensinar as melhores práticas para se iniciar um projeto em javascript, seja uma biblioteca, uma CLI ou até um sistema inteiro. Iremos aprender sobre ferramentas para padronizar nosso código como o eslint e Editorconfig e Styleguides que permitem ter essa padronização.
Módulo Extra: TDD no React
Isso mesmo galera, como eu sou apaixonado por React e essa é uma tecnologia que tá crescendo bastante, vamos ter um módulo onde iremos aprender a escrever componentes React com Testes, olha que lindo <3
Para isso, irei usar uma estrutura já consolidada para componentes, que é a minha lyef react component, dentro dessa estrutura, já temos as ferramentas que vamos utilizar durante todo o curso, então será bem fácil para se adaptar =D
Minha nova aventura
Como falei lá no início, eu me mudei para Dublin nessa semana! Para quem me conhece ou lê meus posts, sabe que eu fiz um post chamado Mudando sua vida através de projetos paralelos e nesse post eu falava sobre a minha vontade de fazer uma aventura, largar empresa e viajar por esse mundão. Eu me organizei durante um tempinho, lancei cursos, peguei dinheiro das empresas que trabalhei e vim para a Europa realizar meu sonho =D
Cheguei aqui na Irlanda na quarta (07/09) e já fiz taaaanta coisa, que nossa, hoje tá sendo o único dia que estou conseguindo sentar e digitar, mas tá valendo muito a experiência e, em breve, pretendo escrever mais sobre isso, até mesmo para dar dicas do que as pessoas precisam fazer para poder fazer viagens assim. Não confie em posts dizendo "largue tudo para viajar", as coisas não são assim.
Então né, como já disse no texto acima, eu estou aqui por minha conta, não vim por empresa nenhuma. Muita gente faz até cara estranha quando digo isso. E através da venda dos meus cursos que acabo conseguindo gerar uma renda para poder morar aqui.
E se você se interessou, as vendas estão abertas no link.