BT

Código Temporário, Código Sustentável e tudo entre eles

por Vikas Hazrati , traduzido por José Donizetti em 26 Mar 2010 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT