Para quem desenvolve em NodeJs, VueJs, React ou Javascript puro sabe que o JS não é uma linguagem tipada, o Typescript veio para dar uma solução, aproximando o JS de outras linguagens como o JAVA. Ele faz uma compilação do javascript, podendo definir o tipo de uma variável, objeto, interface etc. Aumentando assim a integridade das informações no seu código.
Um exemplo básico de um código em TypeScript seria assim:
Se você inserir uma array, integer, float ou outro tipo de variável que não seja do tipo string, o Typescript retorna um erro. Isso facilita na hora que estamos desenvolvendo alguma aplicação, onde se tem uma troca de informações e assegura que você só vai receber o que é necessário nos métodos do seu código. Um exemplo seria o caso de você criar um usuário e enviar somente o que é necessário e no tipo certo, você poderia criar uma interface no Typescript assim:
E o TDD nisso aí?
Agora, uma forma de garantir que a nossa aplicação não apresente problemas ao se evoluir e inserção de novas funcionalidades, seria utilizar a metodologia TDD <Test Driven Development>, no português direto, Desenvolvimento Direciona a Teste, onde antes de se desenvolver os métodos e depois cria-se os testes, a lógica ai se inverte.
Qual a vantagem de se priorizar os testes em relação ao desenvolvimento em si?
- Segurança na correção de bugs e implementação de novas funcionalidades,
- Código limpo e bem escrito,
- Produtividade, pois se foca no que é essencial na hora de desenvolver e evita refatorações para correção de erros, evitando assim o retrabalho,
- Objetividade na hora do desenvolvimento do código, pois já se tem exatamente o que se precisa entregar.
E como eu aplico isso junto com o TypeScript?
Existem diversas bibliotecas em javascript para se criar testes automatizados, tanto para Frontend como para o Backend, vou falar um pouco de duas aqui, Mocha e Chai, e como usar em um código utilizando o Typescript. O *Mocha é um framework em javascript que executa em NodeJs para testes, já o Chai é uma biblioteca utilizada pelo Mocha para as assertivas dos testes. E como seria um teste feito com o Mocha e Chai?
Vamos supor que, você irá criar um método que deve retornar a soma de dois inteiros, o teste seria da seguinte forma:
Esse caso retornaria uma mensagem de erro, parecida com a imagem abaixo:
O motivo é que a variável que passamos está retornando vazia, pois não tem nenhum método definido/implementado. Criando a função para o nosso teste, seria algo assim:
E o retorno do teste, seria algo assim:
E o Typescript nisso?
Aliar o Typescript com os testes automatizados, aumenta ainda mais a integridade e segurança dos dados, pois no caso do Typescript, ele só irá trabalhar com as informações que foram definidas previamente. Ficando o seu código limpo, seguro e muito mais fácil para se manter.
Criei um repositório com um exemplo básico:
Exemplo TS, Mocha/Chai, qualquer dúvida entre em contato, pois também estou aprendendo e podemos nos ajudar.
Abraços e espero que gostem desse meu primeiro artigo!
Top comments (0)