No documento das convenções de codificação Sun Java (aqui: http://www.oracle.com/technetwork/java/codeconv-138413.html ), ele afirma:
"80% do custo vitalício de um software é destinado à manutenção"
Alguém sabe de onde essa estatística é originária? Não duvido da afirmação, mas também posso criar estatísticas sem atribuição e gostaria de saber de onde veio isso antes de começar a usá-lo como base para outras declarações.
coding-standards
statistics
Dan Coates
fonte
fonte
Respostas:
Você precisa primeiro definir o que significa manutenção. Geralmente, os custos de manutenção acima de 50% incluem aprimoramento e remoção de defeitos.
O número de 80% não parece ser diretamente atribuível a um estudo específico, mas você pode encontrar vários números confiáveis na faixa> 50% nos estudos mencionados nesta página: https://web.archive.org/web/ 20120313070806 / http: //users.jyu.fi/~koskinen/smcosts.htm
Tabela 3-7 de Applied Software Measurement, terceira ed. lista que dos 8200 projetos estudados, apenas 2410 eram novos desenvolvimentos. 1385 eram projetos de manutenção e o restante, projetos de aprimoramento. Isso corresponde a aproximadamente 70% dos projetos que mantêm o código existente.
fonte
Economia de engenharia de software de Barry Boehm. E não é 80%, é 50% -75%.
Capítulo 30. Página 533-534.
http://www.amazon.com/Software-Engineering-Economics-Barry-Boehm/dp/0138221227
fonte
A regra prática de 80-20 é muito comumente invocada em muitos contextos, como números de amostras concretas substituindo a frase "a grande maioria".
Essa pode ser apenas uma invocação.
fonte
das convenções de código Java - 12 de setembro de 1997 pela Sun Microsystems.
Você verá esta citação na introdução do documento em
1.1 Por que ter convenções de código
Até 2011, este documento está bastante datado. Software e sistemas estão sendo desenvolvidos em uma variedade de linguagens, incluindo e excluindo Java.
No entanto, o Java é muito lento e possui um espaço de memória extremamente grande comparado ao C / C ++. Quando alguns usuários experimentam o quão lento o Java realmente é executado em comparação com outras linguagens como PHP, C / C ++, etc, eles geralmente pensam que algo está errado com o programa. O dinheiro é gasto na tentativa de melhorar o desempenho sem sucesso. Por esse motivo, sempre questiono a motivação das pessoas para pular no titânico e zarpar. Como não faz sentido implementar muitos programas em Java, especialmente onde o desempenho ou a pegada de memória é uma preocupação.
Na verdade, eu vi pessoas gastando mais tempo implementando algo em Java por uma implementação Java do que gastariam implementando o mesmo software que um script bash no Linux ou em Python ou C ++.
Não estou dizendo que evite Java a todo custo, mas há uma ferramenta certa para o trabalho certo e há muito mais ferramentas que Java hoje em dia.
Parabéns à Apple por finalmente descontinuar o Java.!
fonte