50 Erros Comprovados Cometidos por um Programador

Disponível também em inglês

A pedido da comunidade fiz uma lista com 50 erros comprovados cometidos por um programador durante sua vida, sendo erros técnicos, falta de conhecimento, uso indevido de código, copy/paste, anti-pattern, alienação ao negócio entre outros. Todos os erros eu mesmo já presenciei e claro, também já cometi alguns.

Sem ordem de importância, simplesmente uma lista:

1 – Sair fazendo.

Quem nunca viu alguém sair fazendo e desenvolvendo um código sem ao menos pensar na solução? Simplesmente já sai programando, sem planejamento e análise mais detalhada. Chega lá na frente muda tudo ou desiste.

50 Erros Comprovados Cometidos por um Programador
 

2 – Não tem conhecimento total do negócio.

Não tem conhecimento do negócio como um todo, simplesmente recebe uma solicitação e tem uma visão pontual da funcionalidade e não sabe quais são problemas que podem ocorrer mais a frente devido ao negócio.

3 – Não conhece infraestrutura.

Muitos programadores não sabem ou não querem saber de infraestrutura, como funciona basicamente um servidor web por exemplo, como funciona a reciclagem de memória entre outros fatores. Se soubessem o mínimo talvez as soluções de programação seriam diferentes.


 

4 – Não fala a língua do usuário.

A maioria são extremamente técnicos e não conseguem falar a língua do usuário. Ou seja, podem até entender de programação, solucionar os códigos, mas não conseguem fazer a análise da solicitação do usuário.

5 – Isenção de Culpa.

Programador nunca tem culpa! A culpa é do cara que não testou, a culpa é do cara que pediu que fosse desse jeito, ou melhor, a culpa é do cara que fez o código anterior.

50 Erros Comprovados Cometidos por um Programador
 

6 – Estima horas somente para desenvolvimento.

A estimativa de horas é baseada na quantidade de vezes que a asa da mosca bate dividido pelos passos que a tartaruga dá em um minuto. A maioria das estimativas não tem fundamento e se esquecem que eles mesmos precisam de horas de análise e testes, além do desenvolvimento.

7 – Medo de mudanças.

Surgiu uma tecnologia nova… “Ai meu Deus do céu! Vou demorar para aprender, é difícil, não vou conseguir entregar…” já se arrepia todo sem ao menos procurar saber o que é. Na maioria das vezes vai ajudá-lo mais ainda, tanto através do conhecimento como a qualidade do seu trabalho.

 
50 Erros Comprovados Cometidos por um Programador
 

8 – Achar que o outro é melhor que ele.

O programador sempre acha o outro melhor. Mas ele acaba se esquecendo que o melhor as vezes não é somente conhecimento e sim o pacote todo, comprometimento, responsabilidade, pontualidade entre outros. Relaxa cara!

9 – Quer fazer web com conceitos de desktop.

O programador acha que só o fato de programar em C#, ter mexido com Windows Forms vai conseguir fazer uma aplicação web em MVC por exemplo. Começa a programar usando conceitos desktop e se perde no conceito client/server.

10 – Ciúmes do seu código.

Ai código lindo! Maravilhoso! “Deixa eu ver?” Não põe a mão!!! Não mexi naquela parte do código… Se outra pessoa vai mexer no código que o outro fez sempre é Deus nos acuda, sempre o gestor tem que interferir.

50 Erros Comprovados Cometidos por um Programador
 

11 – Quer fazer mobile com conceitos de web.

Outra coisa interessante é o programador começa a desenvolver aplicativos mobile com a cara ou conceitos web. Aí percebe que aquilo que ele fez parece uma página web responsiva.

12 – Não usar nenhum design pattern.

Os design patterns foram feitos para serem usados pois foram exaustivamente testados antes de se tornarem um padrão. Então, não vamos inventar a roda. Use design patterns!


 

13 – Não seguir nenhum arquitetura de software.

Arquitetura de Software? O que é isso? Programadores são arquitetos do seu próprio ego e ignoram o princípio básico da separação das responsabilidades.

14 – Viewstate é a casa da Mãe Joana.

Já vi diversos programadores usarem e abusarem do famoso viewstate do Web Forms, colocando DataSet e quase um banco de dados inteiro lá.

15 – Tentativa e erro, não lê documentação.

Essa é uma coisa interessante. Quem nunca viu um programador tentar, tentar e tentar até conseguir sem ao menos ler a documentação?

16 – Não faz comentários no código.

Sem comentários.

50 Erros Comprovados Cometidos por um Programador
 

17 – Copia e cola código que nem sabe o que é direito.

Muitos programadores dizem: “Copia e cola aí que vai dar certo!” Ai você pergunta: “Para que server isso?” Resposta: “Não sei, mas funciona!”.

18 – Não segue boas práticas.

Cara, funcionou? É o que importa!

19 – Não adota um padrão ou coerência.

Faz uma coisa em um lugar de um jeito e outra coisa em outro lugar de outro jeto, assim não dá neh!

20 – Não sabe o significado dos erros de exceção.

Exception são hieroglifos!

21 – Não trata possibilidade de referência nula.

Esse é o campeão de erros de programação e pau nos softwares.

50 Erros Comprovados Cometidos por um Programador
 

22 – Variáveis de classes públicas.

Propriedades foram criadas como acessores à variáveis, então ao invés de deixar uma variável pública, torne-a privada e crie uma popriedade que acesse-a.

23 – Concatenação de string com sinal +.

Usar + para concatenar poucas strings OK, mas um texto gigantesco, ai não neh! É comprovado que o StringBuilder é mais rápido para concatenações.

24 – A não aplicação de IDisposable.

Criar classes sem um IDisposable não é totalmente um erro vai, as vezes a gente esquece!

25 – Deu erro? Põe no Stack Overflow.

Simplesmente ignora o que está escrito, copia e cola e joga no StackOverflow ou Google. Leia o erro porr!!!

26 – Não sabe debugar.

Debugar é magia negra, não mexo com isso aí não…

50 Erros Comprovados Cometidos por um Programador
 

27 – Deixar de estudar, zona de conforto.

Só faz curso presencial, tem que ter alguém que fique coxeando o cara… toma jeito e vai estudar!

28 – Não saber as premissas da plataforma.

Acredito que o programador deva inicialmente conhecer algumas premissas da tecnologia, linguagem de programação ou plataforma que irá trabalhar, para assim posteriormente iniciar o desenvolvimento.

29 – Dizer não sei.

Acho que esse é o maior problema de um programador, até do ser humano mesmo. Não sabe? Tenha coragem e diga: Não sei!

30 – Resolver problemas paliativamente.

Põe aí e depois a gente vê…

31 – Meter o pau em um código que ele não fez.

Esse código é uma bosta, pimenta nos olhos dos outros é refresco.

50 Erros Comprovados Cometidos por um Programador
 

32 – A primeira solução é implementada.

Essa é boa, achou a solução implementa! Mas será que é a melhor?

33 – Dizer que é fácil ou rápido.

Dá para fazer tal coisa? Programador responde, isso é fácil fazer… quando vê já passou 1 mês…

34 – Diz que fará uma coisa mas faz outra.

Isso me deixa puto da vida! Acordamos sobre o que tem que ser feito, diz que entendeu e faz outra coisa.

35 – Usa switch/case para tudo

Programação orientada a switch case, já vi código com mais de 20 cases, hard…


 

36 – Repete código constantemente.

Criar uma DLL de métodos úteis para que né? Melhor replicar o código e mandar bala!

37 – Diz que entendeu mas volta em 5 minutos.

Você entendeu o que tem que fazer? Sim, entendi! Volta em 5 minutos, cara não entendi.

38 – Uso de foreach em grande quantidade de dados.

Usar foreach com uma grande quantidade de dados chega a ser um erro técnico e conhecimento de tecnologia… vamos dar um crédito vai.

39 – Não usa versionamento de código fonte.

Põe o código na rede e está tudo certo… código compartilhado!

40 – Simplesmente faz, não questiona ou sugere nada.

Programador faz, não sabe o que está fazendo, simplesmente faz.

50 Erros Comprovados Cometidos por um Programador
 

41 – Código orientado a gambiarra.

Gambis é uma solução paliativa para resolver um problema que não tem solução imediata.

42 – Usar try/catch dentro de try/catch ou try/catch em cadeia.

Eu já vi cada cadeia de try/catch que chega a impressionar. Poderia quebrar em mais de um método e até evitar a Cyclomatic Complexitity

43 – Web.config é somente para guardar AppSettings.

Tem mais alguma coisa no web.config além da string de conexão com banco e AppSttings?

44 – Uso excessivo do System.IO.

Usar o disco System.IO para tudo ao invés de usar a memória.

45 – Esquecer o design / UI.

Design é para web designer, não quero nem saber.

46 – Não tratar exceções.

Você sabe que em uma determinada parte do código há grande chance de ocorrer um problema… se você sabe, porque não trata?


 

47 – Não habilitar cache para arquivos estáticos.

Larga todas as imagens, estilos e scripts sem configuração de cache.

48 – Usar mais de um site ou diretório virtual para o mesmo pool de aplicativos.

As boas práticas dizem para criar um pool para cada site/diretório virtual… mas isso dá muito trabalho neh!?

49 – Não ter perfil para programador.

Programador copiador de código fonte.

50 – Se achar um Deus.

Se achar Deus acima de todos e tudo.

50 Erros Comprovados Cometidos por um Programador
 

Erros de um Programador: Quem nunca cometeu pelo menos 5 erros desses que atire a primeira pedra!

Sobre o Autor:
Trabalha como arquiteto de soluções e desenvolvedor, tem mais de 16 anos de experiência em desenvolvimento de software em diversas plataformas sendo mais de 14 anos somente para o mercado de seguros.
Revisado por:
Apaixonado por tecnologia, atualmente trabalho com aplicações web e estou aprofundando meu conhecimento em mobile. Meu objetivo é contribuir com a comunidade ajudando os desenvolvedores que estão iniciando.

  • Samuel Silva

    Discordo do ponto 16.
    Robert C. Martin (Uncle bob), no Clean Code, tem esse posicionamento, contrário, à comentários:
    “Every time you write a comment, you should grimace and feel the failure of your ability of expression.”

    • @SammaelMH:disqus tudo bem! Nada é 100% certo? A maioria nao faz isso nao rsss

    • Carlos Eduardo

      Também discordo e acrescento que, um código deve ser auto-explicativo, dar os nomes corretos aos objetos e métodos, dispensa comentários. Não se pode confundir documentação técnica e/ou de regras de negócio da solução, com comentário sobre um algorítimo.

      @fabio_silva_lima:disqus Parabéns pelo artigo, lendo alguns itens, passou um filme em minha cabeça 😀

      Meu Blog: https://delphicleancode.wordpress.com/

      • @disqus_rrYj3epcDj:disqus obrigado 🙂 passa um filme mesmo rssss. Vou ver seu blog com certeza 🙂

    • Gustavo Rosa Monteiro

      Ai eu quero ver o cara fazer uma tabela verdade para reduzir a lógica, e depois pessoal tentando entender como aquela condição funciona!!!

      • Samuel Silva

        Código é igual piada.
        Se precisar explicar…

    • Alberto Cláudio Mandlate

      Também acho que para o ponto 16 depende muito de quem escreve. Já ouvi dizer (e concordo) que um código bem escrito, não precisa de comentários.
      Mais uma vez, depende dos casos.

  • Jedielson Nakonieczni

    “Uso de foreach em grande quantidade de dados.”
    Eu gostaria muito de saber opções de aternativas

    • @jedielson_nakonieczni:disqus obrigado pelo comentario. Sobre o foreach, em grande massa de dados, use o for mesmo que é mais rapido. abraço 🙂

  • Plínio Ventura

    Ola Fabio! Gostei muito do post. Posso reproduzir o conteúdo no meu blog e fazer a citação a você e ao seu blog? Meu blog é sobre Engenharia de Software – http://www.ateomomento.com.br. Abraço!

  • Alberto Cláudio Mandlate

    5?