Carlos Brando

Nome do Jogo

Seu código está apodrecendo

A segunda lei da termodinâmica, em principio, afirma que em um sistema fechado a desordem não pode ser reduzida, no máximo pode se manter inalterada ou pode ser aumentada. Esta lei também parece vigorar quando o assunto é desenvolvimento de software.

Quando alteramos o código já existente de um sistema, a desordem sempre aumenta. O nome dado a este efeito é “entropia de software”. Entropia é um termo da física que se refere à quantidade de “desordem” em um sistema e embora desenvolvimento de software seja imune a quase todas as leis da física, a entropia nos pega de jeito.

Se um sistema é muito utilizado então eventualmente ele será alterado. E ao adicionar novas funcionalidades a um software, também estamos aumentando a sua complexidade e desordem. Softwares muito complexos e desorganizados são identificados por programadores por seu código em processo de deterioração, basicamente um código podre.

Um dos motivos que parece contribuir muito com esta deterioração no software é o fator psicológico. Há quase dois anos atrás escrevi sobre a “teoria da janela quebrada”. Não pretendo me repetir aqui, então se você não sabe do que estou falando, sugiro dar uma pausa e reler este artigo primeiro.

Uma única janela quebrada pode ser o suficiente para criar uma sensação de abandono que normalmente leva a uma segunda janela quebrada. Assim, em um espaço de tempo relativamente curto, temos um prédio deteriorado e com danos estruturais graves. E aquela sensação de abandono se torna então uma realidade.

A “teoria da janela quebrada” inspirou a polícia de Nova York e de outras grandes cidades a reprimir pequenos delitos, a fim de manter as coisas em ordem. E funcionou! Consertar rapidamente os vidros quebrados, limpar as pichações e atacar outras pequenas infrações reduziu consideravelmente o nível de criminalidade.

Esta teoria ajuda a explicar por que alguns projetos muito bem planejados e com uma excelente equipe ainda podem experimentar o fracasso. Enquanto projetos, que enfrentam enormes dificuldades e retrocessos, conseguem combater com sucesso a tendência natural para a desordem e sair-se bem.

Não deixe “janelas quebradas” em seu código. Conserte cada uma delas assim que forem descobertas. Se não houver tempo suficiente para corrigir um problema da forma correta, então use um remendo. Talvez comentando um código ruim ou exibindo uma mensagem “não implementado”. O mais importante é tomar medidas para evitar mais danos e mostrar que você está em cima da situação.

O segredo para manter um código saudável é agir rápido. A negligencia acelera o apodrecimento do software. Programar é uma corrida contra a entropia!

Comments