Removendo código em desuso no LibreOffice
Enviado por Eliane Domingos de Sousa (contatoΘlibreofficebr·org):
Parece que mais da metade de nosso código sem uso já ficou pra trás. Infelizmente, enquanto varremos o lixo pra fora, mais lixo aparece, bem observados nos pinotes pra cima no gráfico, ainda que a tendência é claramente ladeira abaixo. Se você quer se envolver com o desenvolvimento do LibreOffice, não pode ser mais fácil do que isso, faça o checkout do código e mande ver a sua vassoura.
Se não for no LibreOffice, por que você não roda o callcatcher do Caolán no seu projeto para ver as rebarbas e bolas quadradas que sobraram dos requerimentos? Tradução voluntária: Olivier Hallot. Fonte: Post de Michael Meeks no blog da The Document Foundation.” [referência: libreofficebrasil.blogspot.com]
Augusto, acho que faltou o gráfico na news.
E o Perl salva a pátria mais uma vez!
Li no Muylinux.com, lá tem o gráfico.
http://www.muylinux.com/2012/01/11/libreoffice-se-pone-a-dieta-adelgaza-la-mitad/
Anos de OpenOffice sob a tutela da sun, pouco tempo sob a tutela da oracle e nada de melhorar ou sequer andar … agora sim melhora …
Não entendi. Como é que analisar o código executado pode dar embasamento para remover um método não usado? Seria virtualmente impossível executar todos os casos de uso imagináveis para o openoffice para os quais os métodos foram feitos. E provavelmente alguns métodos só serão chamados em casos bem específicos mesmo.
Não periga de o código ficar “manco” depois? Ou ninguém se preocupa porque depois é só ver o código velho e voltar a alteração?
@Patola, boa pergunta. Eu pensei que esse analisador fazia era identificar se existe alguma funçao que nunca foi chamada, mas isso as IDEs de hoje em dia já fazem.
Mas tenho certeza que a ferramenta consegue identificar com precisão algum tipo de código legado, eles não cometeriam um erro básico.
O que me frustra nos projetos OpenOffice e LibreOffice há anos é que todas as versões sempre prometem a mesma coisa: limpeza de código, correção de bugs e algumas novidades. E no final o sistema continua pesadão, feio e bem mais defasado que os concorrentes. Uso porque ainda é a única alternativa viável livre, mas não deixa de ser frustrante.
Eu acho que existe um grande potencial para que tudo termine em lágrimas.
Eles usam uma ferramenta que indica código que nunca foi chamado.
Os aumentos se dão ao retirar esse código, pois ele chamava outros trechos que agora não são mais chamados.
Caros, com um simples grep em um código fonte se encontra chamadas para métodos e funções. A grosso modo, se um grep não acha o nome do método em outros arquivos a não ser o arquivo onde o método está definido, então ele não é usado. A não ser que o código esteja muito bem ofuscado.
Se fosse assim tão simples.
A ferrramenta usada compila e analisa o código gerado pelas referências.
Procurar somente nos fontes é bem arriscado. Precisa compilar, ou parcialmente compilar, nem necessita gerar o código final.
O Eclipse por exemplo está sempre fazendo análise do código. Isso serve para fazer desde highlight e detecção de erros até esse tipo de coisa, indicar onde um método é usado ou não.
Qualquer IDE parruda atual faz isso. Usar técnicas que não são da área de compiladores é mais trabalhoso e aí sim pedir para acontecer porcaria.
Enquanto isso o Calligra parece ser promissor, ele ja abre bem os arquivos do MS Office, só falta agregar mais funções, uma coisa q me agrada muito nele é a interface diferente, não chega a ser melhor mas pelo menos é uma tentativa de mudar e não copia de copias :)
O trabalho dos caras parece que está dando resultado mesmo. O Beta do LibreOffice 3.5 parece muito mais rápido que antes. Ainda não testei tudo, mas dá pra notar que algumas coisas já começaram a mudar. A forma de trabalhar com cabeçalho e rodapé está bem mais fácil e aquela borda na página não vem mais como padrão. Eu acho que está ficando muito bom. Mostrei para um antigo usuário do BrIffice aqui e ele gostou também.
@Patola, boa pergunta. [2] Por que se for assim tão fácil, a Microsoft faria em seus produtos..
@Carlos Felipe: os comentários que já ouvi de terceiros sobre trabalhar na Microsoft, é que não se tem acesso a todo código fonte, apenas ao trecho relativo que você precisa trabalhar.
Uma observação é que remover esses supostos métodos não usados vai diminuir o tamanho do código-fonte, o tempo total de compilação e facilitará o trabalho com o código mas isso não gera um executável menor ou mais rápido.
Manoel, tem razão. Se não era usado, como afetava a velocidade?