Código Temporário, Código Sustentável e tudo entre eles
Existe código que é bem testado, bem refatorado e escrito por último. Também existe código que é planejado para ser jogado fora em poucos dias. Entre esses dois extremos, existe um grande meio termo. O código na área intermediária é escrito com o objetivo de ser melhorado depois, o que nunca acontece.
William Pietri analisou o custo associado ao codigo do ponto de vista de desenvolvimento e de negócio. De acordo com Willian, código pode ser categorizado de 3 formas.
- Temporário - Código que é escrito com o planejamento de ser jogado fora.
- Sustentável - Código construido por último, como por exemplo usando TDD. Bem Orientado a Objeto, que faz o que o cliente quer. Tem uma forte suite de testes e não é dificil de evoluir/manter.
- Mediano - O meio termo. Quando é dificil evoluir/manter um software como por exemplo na tentativa de resolver um bug é causado outros 3 no projeto.
William comenta sobre como é a visão de desenvolvedores e gerentes/clientes quanto ao custo de um sofware. A seguinte comparação é feita:
| Gerentes | Desenvolvedor | |
| Temporario | baixo | baixo |
| Sustentável | alto | medio |
| Mediano | medio | alto |
Devido a esse pensamento, que clientes ficam contentes com o código mediano, que teoricamente tem um custo baixo e pode adicionar algum valor ao problema que está sendo resolvido. E esse é grande erro que boa parte das empresas cometem. De acordo com Willian um melhor jeito para comparar custos de software é pensando no curto e longo prazo do desenvolvimento.
De acordo com ele.
| custos do curto prazo | custos do longo prazo | |
| Temporário | baixo | baixo |
| Sustentável | alto | medio |
| Mediano | medio | alto |
O código mal feito no final, custo muito mais para o cliente. Já o código sustentável pode custar mais no começo mas no depois de um tempo tem seus custos diminuidos e muitas vezes estabilizados.
Com toda certeza, isso não é apenas ruim para os desenvolvedores. Isso é ruim para toda a empresa. Se os custos de uma empresa de software continuamente crescem, isso se transforma numa vantagem para os competidores que se preocupam mais com o jeito que eles produzem software.
Sobre as 3 categorias, Alex Chaffe mostra que em sua visão código Sustentável = testes + código mediano + refatoração.
Fazendo uma análise similar, Alberto Gutierrez sugere um mecanismo diferente para analisar o código. Ele pontua o código de A até F de acordo com a simplicidade e a extensibilidade do mesmo. A simplicidade é definida como a facilidade de se entender e de ler determinado código. Já a extensibilidade é a facilidade que uma nova funcionalidade pode ser adicionada em um código já existente. O intervalo A-F define os extremos entre um código Excelente e um código que precisa ser totalmente refeito.
A análise novamente da foco no fato de que o melhor código deve ser simples e extensível. Este, por sua vez, seria o código sustentável sugerido por Willian.
Então, como evitar que meu código fique no meio termo?
De acordo com William, a educação dos stakeholders sobre as implicações de longo prazo no tipo de código ajudaria os times a agregar valor ao negócio. Uma vez que as pessoas fossem educadas seria mais fácil distinguir um código sustentável para um que esteja no meio termo.
A maior parte dos projetos iguais que eu tenho visto possuem código mediano que são vendidos como sustentáveis. O que acontece é que ocorre muita programação no estilo cowboy com o intuito de salvar o dia, deixando um monte de código mediano para trás para que outras pessoas lidem com ele.
Conteúdo educacional
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião