Entropia de Software

Entropia de Software

Embora o desenvolvimento de software esteja imune a quase todas as leis da física, a entropia nos afeta muito. Entropia é um termo da física que se refere ao nível de “desordem” em um sistema. Infelizmente, as leis da termodinâmica garantem que a entropia no universo tende em direção ao máximo. Quando a desordem aumenta no software, os programadores chamam isso de “deterioração de software”. Há muitos fatores que podem contribuir para a deterioração de software. O mais importante parece ser a psicologia, ou cultura, em ação em um projeto. Mesmo se você for uma equipe de uma pessoa, a psicologia que envolve seu projeto pode ser algo muito delicado. Mesmo se um projeto tiver grandes planos elaborados e as melhores pessoas, ele ainda pode vivenciar a ruína e a decadência durante seu tempo de vida. No entanto, há outros projetos que, apesar das enormes dificuldades e constantes retrocessos, combatem com sucesso a tendência natural em direção à desordem e conseguem se sair muito bem. O que causa a diferença? Em cidades do interior, alguns prédios são belos e limpos, enquanto outros são estruturas deterioradas. Por quê? Pesquisadores da área criminal e de decadência urbana descobriram um fascinante mecanismo acionador, um mecanismo que torna muito rapidamente um prédio limpo, intacto e habitado em uma construção quebrada e abandonada: uma janela quebrada.

Uma janela quebrada, deixada sem reparos por qualquer período de tempo significativo, faz brotar nos moradores do prédio uma sensação de abandono – uma sensação de que os responsáveis não se preocupam com o prédio. Portanto, outra janela é quebrada. As pessoas começam a acumular lixo na área externa. Surgem grafites. Danos estruturais graves começam a aparecer. Em um período de tempo relativamente curto, o prédio fica danificado demais para o proprietário querer consertá-lo e a sensação de abandono se torna realidade. A “Teoria da Janela Quebrada” inspirou os departamentos de polícia de Nova York e outras cidades grandes a atacar os problemas menores para evitar os maiores. Funciona: ficar atento a janelas quebradas, grafites e outras pequenas infrações reduziu o alto índice criminal.

Não deixe “janelas quebradas” (projetos insatisfatórios, decisões erradas ou código inadequado) sem reparos. Conserte cada uma assim que for descoberta. Se não houver tempo suficiente para consertá-la apropriadamente, feche-a com tábuas. Talvez você possa desativar com comentários o código inadequado, exibir uma mensagem “Não Implementado” ou substituí-lo por dados fictícios. Tome alguma medida para impedir um dano maior e mostrar que você está com a situação sob controle. Vimos sistemas elegantes e funcionais se deteriorarem rapidamente quando as janelas começaram a quebrar. Há outros fatores que podem contribuir para a deterioração de software e mencionaremos alguns deles em outras seções, mas a negligência acelera mais a deterioração do que qualquer outro fator. Você deve estar pensando que ninguém tem tempo para sair reparando todas as janelas quebradas de um projeto. Se continuar pensando assim, é melhor planejar a compra de uma caçamba ou mudar para outra vizinhança. Não deixe a entropia vencer.

Cristiano Antônio

Fullstack.NET C# | Angular | Azure

2 a

Mesmo que pareça indutivo, o empirismo neste caso é real.

Danilo Rodrigues Catapan

Analista de Sistemas - Java | Quarkus na Coopersystem

2 a

Muito bom! 👏

Carlos Eduardo Olivieri ✅

Senior Back-end Developer | .NET C# | Creator of NuGet package FluentSimpleTree | Lifelong Learner

2 a

Excelente artigo e tema, Rodrigo. 👏

Entre para ver ou adicionar um comentário

Outros artigos de Rodrigo de Oliveira

Outras pessoas também visualizaram

Conferir tópicos