tag:blogger.com,1999:blog-2248019929314776072.post1659375499782390659..comments2021-11-25T06:53:49.258-03:00Comments on LibreOffice Brasil: Removendo código em desuso no LibreOfficeAnonymoushttp://www.blogger.com/profile/04531116548824590931noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-2248019929314776072.post-40634173711762918342012-01-20T18:30:46.381-02:002012-01-20T18:30:46.381-02:00É uma pena que a MS não abra seu código para que p...É uma pena que a MS não abra seu código para que possamos resolver essas pendências, porque no momento precisamos fazer "engenharia reversa" para melhorar a compatibilidade com a MS.Rogerio Luz Coelhohttps://www.blogger.com/profile/08955979580313975060noreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-90162836893119566042012-01-13T01:35:49.803-02:002012-01-13T01:35:49.803-02:00Olá Olivier,
No fundo, você acaba concordando com...Olá Olivier,<br /><br />No fundo, você acaba concordando comigo: refinar o código é uma ação humana e não pode, sob pena de significativas perdas, ser delegada a programas automáticos, por mais sofisticados que sejam. Estes programas existem para varreduras mais simples e pontuais.<br />Creio que a grande discussão é "como estratificar um código morto de um vivo". Um código morto não é simplesmente um método que não é chamado, porquanto métodos que não são chamados ainda assim têm utilidade, como sobrecargas de métodos e construtores, ou códigos de classes helpers, pois estão sempre na eminência de serem úteis a qualquer momento ou no mínimo ajuste do programa.<br /><br />Contudo, um código vivo pode não ser um método sendo chamado e rodando, ainda que funcione, pois existe sempre a possibilidade de duplicidade de código e erros de implementação e arquitetura derivados desta problema, o que não é tão incomum em projetos grandes, por mais atenciosa e qualificada que seja a equipe.<br /><br />Bom, não estou lançando críticas ao Open Office ou ao Libre Office, mas estou mostrando como a questão é bem mais profunda e complexa do que aparentou no artigo inicial. As referências citadas zelam pela qualidade do código, o que certamente tende a diminuir problemas como estes citados. Contudo, duplicidade de código, reciclagem de código, rigor arquitetônico, qualidade e otimização são para o programador muitas vezes algo próximo ao que a perfeição da arte é para o artista: mais um grande ideal a ser mirado do que uma meta concreta a ser plenamente exaurida.Pajéhttp://pajeonline.blogspot.comnoreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-44442193791957196902012-01-12T13:14:48.526-02:002012-01-12T13:14:48.526-02:00Boa tarde Olivier,
Acredito que o Pajé está dizen...Boa tarde Olivier,<br /><br />Acredito que o Pajé está dizendo não é a mesma coisa.. dependendo da estrutura do sistema, ele deve ter alguns métodos definidos que nem sempre será utilizado no programa de uma forma simples de encontrar.<br /><br />Por exemplo no padrão template, os métodos são chamados em tempo de execução, e não em tempo de compilação.. ou seja.. dependendo de como vai ser executado o programa ele pode requisitar a chamada de um método ou não..<br /><br />RodrigoAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-67176898331204627472012-01-12T13:12:59.905-02:002012-01-12T13:12:59.905-02:00Concordo!!Concordo!!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-62003888412206650492012-01-12T00:06:54.462-02:002012-01-12T00:06:54.462-02:00Olá Pajé
Sua preocupação é perfeitamente compreen...Olá Pajé<br /><br />Sua preocupação é perfeitamente compreensível, quem já desenvolveu código sempre pensa que uma coisa descartada pode servir um dia no futuro. O x da questão é "Será que o lugar para deixar um código morto é no meio de um código 'vivo'"?<br /><br />Eu cito Eric Raymond na "Catedral e o Bazar" no capítulo 2 (http://pt.wikisource.org/wiki/A_Catedral_e_o_Bazar/II)<br /><br />"3. ``Planeje jogar algo fora; você irá, de qualquer maneira. (Fred Brooks, ``The Mythical Man-Month, Capítulo 11)<br /><br />Ou, colocando de outra forma, você frequentemente não entende realmente o problema até depois da primeira vez que você implementa uma solução."<br /><br />e no capítulo 6:<br /><br />'13. "A perfeição (em projetar) é alcançada não quando não há mais nada a adicionar, mas quando não há nada para jogar fora."<br /><br />Quando o seu código está ficando tão bom quanto simples, é quando você sabe que está correto'<br /><br />Afora a menção da literatura, o código do LibreOffice é oriundo do OpenOffice.org que tem mais de 15 anos de idade. Não só houve evolução tecnológica nos recursos de desenvolvimento, como houve rotatividade de programadores e de voluntários. Um código morto feito por outra pessoa não ajuda, é mal comentado, incompleto e não se preservou a memória de sua necessidade. Muitas vezes é mais fácil repensar do que tentar entender o que o colega quiz fazer e decidir se é util ou não.<br /><br />Há precauções, no caso da remoção:<br />* o patch de remoção será avaliado pelo time central dos desenvolvedores,<br />* o controle de versão (git) sempre permitirá voltar algum código descartado (mesmo que não seja trivial localiza-lo). O LibreOffice tem todo o histórico do projeto no git.<br /><br />O projeto LibreOffice quer ser uma oportunidade para novos desenvolvedores entrarem e trabalharem no software. Para conseguir este objetivo, foram elencados uma série de "easy-hacks", tarefas muito simples que permitem um novato se familiarizar nas 10 milhões de linhas do código. Remoção de código morto é uma delas, e estará sob supervisão de desenvolvedores sêniors.<br /><br />Abraços<br />OlivierOlivier Hallothttps://www.blogger.com/profile/10071573791335443154noreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-68554509096097492682012-01-11T21:44:42.333-02:002012-01-11T21:44:42.333-02:00Uma pena que a integração com o ms office esteja t...Uma pena que a integração com o ms office esteja tão ruim... Muitas formatações de docs não são preservados.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2248019929314776072.post-76236819172929318582012-01-11T20:27:44.294-02:002012-01-11T20:27:44.294-02:00Olá Pessoal,
Embora um intrigante artigo este, pr...Olá Pessoal,<br /><br />Embora um intrigante artigo este, preciso dar um alerta oriundo de minha experiência de alguns bons anos como desenvolvedor... antes de sair tirando código, é essencial conhecer os padrões de projeto utilizados e os detalhes arquiteturais do programa, para que se conheça a natureza do código sendo removido. Ou seja: este código é mesmo inútil?? Será que não se trata de um código que não está em uso no momento mas poderá com grandes chances vir a ser usado?? Talvez um código que possa ser chamado externamente, por um plug-in?? Embora possivelmente haja mesmo código obsoleto no programa, nem sempre responder a estas perguntas é fácil e nem sempre um método que nunca é chamado deve ser retirado do código do programa...<br />Contudo, vejam que interessante: muitas vezes, há dois métodos que estão sendo usados, porém ambos realizando a mesma coisa, porém com códigos diferentes. Uma boa refinada no código elimina os métodos duplicados e diminui a quantidade de código do programa.<br />Em suma, gostaria de dizer que refinar e otimizar código não é uma coisa simples nem automática, de forma que necessita de muita intervenção humana e especialmente um bom conhecimento da arquitetura do sistema.Pajéhttp://pajeonline.blogspot.comnoreply@blogger.com