A definição de rot de software da Wikipedia se concentra no desempenho do software. Esse é um uso diferente do que estou acostumado; Pensei muito mais nisso em termos de limpeza e design do código - em termos de o código ter todas as características de qualidade padrão: legibilidade, facilidade de manutenção etc. Agora, é provável que o desempenho diminua quando o código se tornar ilegível, porque ninguém sabe o que está acontecendo. Mas o termo software rot tem referência especial ao desempenho? ou estou certo ao pensar que se refere à limpeza do código? ou esse talvez seja um caso de múltiplos sentidos do termo sendo de uso comum - da perspectiva do usuário, isso tem a ver com desempenho; mas para o especialista em software, isso tem a ver mais especificamente com a leitura do código?
fonte
Respostas:
O termo não está relacionado ao desempenho, pelo menos não em qualquer lugar que eu o tenha usado.
É especificamente sobre código que não é mantido bem e se torna ... sujo ... podre. Trata-se de código cujo design não foi atualizado à medida que foram feitas alterações e é difícil de ler e entender.
fonte
Vamos encarar. "Apodrecimento do software" não é um conceito técnico bem definido. É mais uma descrição pejorativa do que acontece quando o software é mal mantido.
A página da Wikipedia representa uma visão, mas há visões claramente alternativas. E você poderia dizer que as diferentes visões refletem as diferentes prioridades e preocupações da pessoa que as mantém:
Alguém focado em acelerar o software estará mais inclinado a procurar evidências de "apodrecimento do software" no desempenho.
Alguém focado no design / arquitetura (por exemplo, porque precisa adicionar novas funcionalidades ou corrigir bugs de funcionalidades), verá o "software apodrecer" dessa perspectiva.
E, não é realmente útil dizer cuja perspectiva é mais correta. (É como discutir se a turquesa é mais verde ou mais azul.)
fonte
Eu diria que o termo "podridão de software" refere-se geralmente à adequação da tarefa em questão. O software pode se tornar menos adequado para a tarefa pretendida devido a camadas e mais camadas de correções de bugs, novos recursos e pequenos ajustes. Em conjunto, eles podem afetar adversamente a manutenção e o desempenho. Além disso, as necessidades da organização provavelmente mudarão com o tempo e o software poderá ser forçado a assumir funções para as quais nunca foi realmente projetado. Todos esses fatores fazem com que o software se torne menos adequado às necessidades da organização e isso pode acontecer mesmo com um esforço conjunto para manter o software.
fonte
A Wikipedia diz que a rotação do software e a rotação do código são iguais. Discordo.
A podridão do código é a perda gradual de legibilidade e manutenção, à medida que mais e mais alterações são feitas no código.
A podridão do software é a perda gradual de desempenho à medida que o software é movido de um emulador de ambiente para outro. Um exemplo é todo o software Data General PDP em execução em emuladores. Na verdade, é o ambiente que está apodrecendo, não o software.
fonte
Na verdade, o software não sai mal, fica obsoleto, se desgasta ou "apodrece" no sentido tradicional.
Se o ambiente em que o software opera não mudar, o software durará essencialmente para sempre. É por isso que fico tão irritado quando alguém pergunta se uma biblioteca está "morta" porque o autor não a atualizou nos últimos 5 minutos (exagerando apenas um pouco para o efeito).
Mas o ambiente normalmente faz mudança; os sistemas operacionais são corrigidos e atualizados, os computadores são substituídos por outros mais poderosos e novos programas são instalados (como a versão mais recente de um cliente como o Internet Explorer, drivers de dispositivo ou outras bibliotecas), dos quais o software pode depender. Portanto, o software deve ser atualizado para levar em conta essas alterações.
Existem sistemas de software que estão em execução contínua e confiável há literalmente décadas, sem serem atualizados ou mantidos significativamente. O software COBOL executado em mainframes que lidam com transações bancárias vem à mente (embora todos tenham sido modificados em 1999 para lidar com o Y2K).
A ênfase da Wikipedia no desempenho parece estar perdendo o objetivo; muitos aplicativos de software realmente aumentam o desempenho quando são instalados em um ambiente mais novo. O artigo da Wikipedia realmente parece mais preocupado com o inchaço do software .
fonte
"Apodrecimento do software" - é um termo muito vago e pode significar várias coisas para qualquer pessoa, dependendo de como está sua percepção do conceito e de qual é o seu ângulo de visão .
A definição da Wikipedia sobre Software rot não define um padrão, pois também é escrita por algumas pessoas. Eu acho que esse termo tem uma variedade de significados e precisa ser dividido em áreas específicas, onde é arbitrado.
fonte
Sempre pensei na podridão de software como uma condição que ocorre quando você não usa o software por um período de tempo. De alguma forma, o software se transforma em um estado em que é impossível de construir. Então, quando você chega a um ponto em que pode construí-lo, ele não funciona com as entradas e saídas como antes. É quase como se o código realmente se degradasse na forma, mesmo estando armazenado digitalmente.
fonte