⏳ O problema do "Feito é melhor que perfeito".
Desde que comecei a estudar programação, eu escuto uma frase que eu concordo, porém que na minha visão possui algumas armalhadilhas. Estou falando da famosa:
Feito é melhor que perfeito.
Essa frase pode ser aplicada em diversos contextos ou áreas, mas para exemplificar o meu ponto de vista, ela será inserida em um contexto de aprendizagem em programação.
A frase em questão tem como objetivo salientar que se você está começando a aprender uma tecnologia/recurso, e está aplicando-a em algum projeto, o importante é aplicar o básico, e o que não for tão importante deixar de lado (para um outro momento).
Eu concordo 100% com tal afirmação. Se você está criando um projeto, deveria focar nas principais funcionalidades, e em um segundo momento, ajustar os detalhes.
Porém, já faz algum tempo que eu tenho notado algo que está me preocupando, e que foi o motivo para eu escrever este post.
O que é o básico ?
O problema do Feito é melhor que Perfeito, é quando você não consegue identificar o que seria esse tal de Feito, ou seja, o que seria o básico. E isso é normal, principalmente se você está começando agora. Porém vou dar um exemplo que tenho visto, principalmente no Linkedin, de pessoas criando vídeos e postagens sobre seus projetos (principalmente em React), envolvendo formulários. Vou citar o cenário que tenho visto:
A pessoa desenvolve um projeto utilizando React, Next, etc., que tem uma funcionalidade de cadastrar um produto, por exemplo. Ela grava um vídeo, criando um cadastro como exemplo, e tudo funciona perfeitamente. Nos comentários, ou na própria postagem, ela insere o Link do projeto do Github, ou o Link da aplicação em produção, para que outras pessoas possam
realmente ver a aplicação funcionando. Tudo normal até aqui.
O problema é quando você entra na aplicação, e faz um teste simples ao cadastrar um produto: Você insere no campo "Valor do produto" o valor zero, imaginando que a aplicação irá recusar tal inserção, porém isto não acontece.
Eu não estou aqui para julgar, e dizer que isso está errado (até porque eu preciso revisitar meus projetos para ver se não cometi o mesmo erro), mas na minha visão, uma pessoa que já está em uma fase de aprendizagem em React/Next deveria estar apta a validar de forma básica um formulário.
Provavelmente, a pessoa que criou tal aplicação, pensa em "validar de forma básica um formulário" como apenas "validar se algo foi inserido no campo", ou seja, se o campo estiver vazio, ai eu mostro uma mensagem de erro. Para ela, qualquer coisa a mais do que isso seria deixar essa funcionalidade Perfeita.
Eu dei esse exemplo de formulário, mas esse fenômeno acontece em outras partes da aplicação também.
Uma das formas de corrigir este problema é começar a pensar na aplicação antes de sair codando. Faça perguntas antes, durante e após o desenvolvimento do projeto:
"Ok, está funcionando, mas e se o usuário informar um valor negativo aqui neste campo, o que acontece ?"
"Legal, ao confirmar meu pedido, eu sou redirecionado para outra rota, mas e se o usuário tentar acessar diretamente esta rota pela URL ?".
Com base nisso, e alterando um pouco a frase original, eu diria que: **Bem feito é melhor que Perfeito. **
Eu gostaria de saber se vocês já viram este tipo de situação, porque parece que ela está se tornando mais comum.