Skip links

Programador Tentativa e Erro

Alguma vez você já se deparou alterando código sem nem ter ideia do que estava fazendo?

Você não é um mágico

Fazer alterações aleatórias e esperar que magicamente seu código irá funcionar não irá lhe fazer um melhor programador.

Apesar de parecer mágica, programação consiste de muito raciocínio lógico, planejamento e execução correta para chegar a um objetivo. Acredito que existam duas maneiras distintas de tentativa e erro:

  1. a de quando se está começando com uma ferramenta/linguagem (ou mesmo quando não existe documentação sobre os métodos que deseja usar);
  2. tentativa de corrigir um bug ou implementar uma funcionalidade apenas alterando e copiando códigos aleatoriamente.

No primeiro caso, errar faz parte do aprendizado. Você não conhece suficiente a linguagem/ferramenta e, precisa errar para aprender. Inclusive, isso é uma forma super sadia de aprender (apesar de um pouco frustrante). Você tem uma ideia do que está fazendo, e vai tentando modificar algumas coisas e vendo o que acontece. Essa experimentação te proporciona compreender melhor e evoluir.

Já, no segundo caso, você não sabe o que tem que fazer (no máximo tem uma vaga ideia), não faz ideia como resolver o problema e a solução é começar a alterar trechos aleatórios e torcer para que resolvam o problema. Ou mesmo copiar trechos de outros lugares que funcionam, colocar no meio do código e esperar que funcionem.

Se esse é o seu caso, acredito seriamente que você precisa rever seus conceitos de desenvolvedor. Comece pensando no seu problema, entendendo ele, e desenvolva uma solução lógica¹. Ah, e não esqueça de depurar, depurar e depurar. Isso é extremante importante. Depois disso tudo, ainda pode passar por fases de tentativa e erro? Sim. No entanto, a diferença é que agora você tem uma compreensão do que está fazendo, e não apenas digitando códigos aleatórios.

¹Falo mais sobre planejamento de tarefas em Programação Eficiente: Não queime a largada.

As duas fases do desenvolvedor

Certamente você já teve momentos em que se sentiu um deus após ter resolvido algum problema. Mas também teve outros momentos em que ficou encarando o código e não tinha a menor ideia do que estava fazendo. Toda vez que se deparar com a ideia de tentativa e erro, tente se fazer dois tipos de perguntas:

1. Por que eu deveria alterar isso? Por que isso vai resolver o problema?

Pense nas consequências do que estás alterando. Analise o código. Reflita sobre sua alteração. Pense nos impactos que essa alteração irá causar no código. Não conserte um bug para criar outros.

2. Como isto não está funcionando?

Compreenda os motivos de o código não estar funcionando. Procure encontrar o problema e o motivo dele estar acontecendo. Depois avalie o que pode ser feito para corrigí-lo.

Resumindo…

Utilizar apenas tentativa e erro torna seu processo de correção/implementação cansativo, frustrante. Se você tomar medidas simples de analisar, depurar e compreender (mesmo que não sejam rápidas), você certamente dará um salto no seu nível de programação e você vai livrar o método tentativa e erro da sua vida, com exceção de alguns casos especiais que, como o próprio nome diz, são especiais e não a regra.

Leave a comment

Name*

Website

Comment