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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.