Skip to content

028. Removendo "password" do sistema (e testes salvando a vida)

Filipe Deschamps edited this page Jan 20, 2022 · 1 revision

20/01/22

Nesse PR eu removo as validações e campos sobre a senha e gostaria de destacar duas coisas:

Testes salvando a vida

Ter testes automatizados acelera muito refatoração de código e dá muita segurança fazer movimentos bruscos com as features. Foi uma experiência muito gostosa colocar os testes sobre user em modo watch e ir removendo os códigos que implementavam os campos no banco de dados, as validações obrigatórias no model, inserções na base e ver a expectativa nos testes quebrando, para em seguida ajustar o que precisava ajustar primeiro no model, e depois ajustar as expectativas nos testes. Claro que nada disso dá segurança 100%, mas deu uma segurança infinitamente maior e fez o processo ser infinitamente mais rápido se não houvesse nenhuma cobertura.

Boas práticas no início de um projeto

Esse PR que citei acima, assim como outros, quebram algumas boas práticas que vão desde trabalho em conjunto até boas práticas técnicas, como por exemplo, alterar uma migration. Optei por quebrar isso, pois a parte do projeto que estamos mexendo agora não está em produção e eu prefiro apenas nesse estágio de projeto deixar a migration do User o mais limpa possível e sem criar novas migrations a cada alteração e que seria a boa prática, mas na minha visão com o saldo negativo para o atual contexto. No mundo real, do jeito que o projeto está, sinceramente não consigo ver nenhum saldo positivo se respeitar "a boa prática". Mas claro que tudo isso muda quando deploys reais acontecerem, pessoas dependerem dos serviços e pessoas estiverem desenvolvendo o projeto de forma distribuída.