Pessoal, estou enfrentando um problema e creio que é uma constante para todos desenvolvedores: o lixo!!!
Classes não usadas, metodos não usados… codigos que foram sendo modificados por gerações e gerações e quando você começa a rastrear um problema real acaba se deparando com aquela classe, ou método ou atributo ou parâmetro que não faz nada, nao vem de lugar nenhum e nao vai pra lugar nenhum…
Vi que quanto mais o código evelui mais lixo vai ficando para trás. Existe solução? Alguma ferramenta que retire esse tipo de coisa do codigo? Ou que pelo menos avise que aquilo pode ser um lixo?
O que já vi hoje são funcionalidades das IDEs que avisam se um certo atributo é ou não usado na classe, mas e quanto a um método publico nao usado no projeto? Ou pior… um método que é usado por outro, e por outro e por outro e nenhum deles é usado por ninguem… formando uma ilha de isolamento no codigo…
Alguém conhece uma solução?
Lixo no codigo
9 Respostas
Solução tem,
Creio que uma revisão periódica do código acabe com o problema, dificil vai ser arranjar tempo, paciência e alguem disponivel pra fazer isso!
Você precisa efetuar um teste de cobertura no seu código. Por exemplo, você pode usar o Cobertura. Apesar de ter esse nome em português ou espanhol, ele não foi desenvolvido por nenhum latino, mas sim por Mark Doliner.
Uma vez fazendo todos os testes de cobertura, veja que pontos de seu programa não foram executados, e boa sorte!
Solução tem,
Creio que uma revisão periódica do código acabe com o problema, dificil vai ser arranjar tempo, paciência e alguem disponivel pra fazer isso!
Realmente se o projeto tiver uma boa administração e tiver processos de desenvolvimento bem definidos… mas no meu caso o cenário é bem diferente. Herdei um código de uns 5 anos atrás onde ja passaram por ele N programadores cada um programando do jeito que lhe deu na telha. Imaginem a bagunça e a quantidade de lixo!
Uma solução automatizada eu não conheço…
Esse é um típico caso de “código do pânico”… onde perde-se total ou parcialmente o controle sobre o código.
Conhecendo e aplicando boas práticas consegue-se evitar isso, porém sempre nos deparamos com bizarrices feitas por terceiros (e geralmente esses $@&¨#@ já nem estão mais na empresa)…
O jeito é mapear classe a classe, assim tendo uma visão mais abrangente e uma probabilidade de retirar algo funcional menor.
F*da.
Abraço,
manoelson
Solução tem,
Creio que uma revisão periódica do código acabe com o problema, dificil vai ser arranjar tempo, paciência e alguem disponivel pra fazer isso!Realmente se o projeto tiver uma boa administração e tiver processos de desenvolvimento bem definidos… mas no meu caso o cenário é bem diferente. Herdei um código de uns 5 anos atrás onde ja passaram por ele N programadores cada um programando do jeito que lhe deu na telha. Imaginem a bagunça e a quantidade de lixo!
Sem zueira, esse é um efeito conhecido como “Toma que o filho é teu!”
Já passei por isso, por esse motivo nunca mais volto pra manutenção, o pior mesmo eh quando teu gerente culpa vc por todos erros do código antigo.
Solução tem,
Creio que uma revisão periódica do código acabe com o problema, dificil vai ser arranjar tempo, paciência e alguem disponivel pra fazer isso!Realmente se o projeto tiver uma boa administração e tiver processos de desenvolvimento bem definidos… mas no meu caso o cenário é bem diferente. Herdei um código de uns 5 anos atrás onde ja passaram por ele N programadores cada um programando do jeito que lhe deu na telha. Imaginem a bagunça e a quantidade de lixo!
Sem zueira, esse é um efeito conhecido como “Toma que o filho é teu!”
Já passei por isso, por esse motivo nunca mais volto pra manutenção, o pior mesmo eh quando teu gerente culpa vc por todos erros do código antigo.
Isso é complicado.
Você arruma um erro.
Um mês depois surge outro.
Seu gerente questiona, na frente de todos:
“Será que esse erro foi ocasionado pela correção anterior?”
Sejamos ecologicamente corretos, não deixemos lixo para o próximo.
Hehehe
Um último pedido: comentem o código, isso evita muita dor de cabeça também.
Outro último pedido - logo o anterior se torna o penúltimo: Usem nomes decentes para as variáveis! Não vejo problema em CorrenteAlternadaMotorBateria4. “cam4” pra mim deve ser outra coisa!
Isso provavelmente tornará o mundo virtual muito mais ecológico. Ah se vai!
Pois é, muito bem falado. Qdo comecei a programar colocava nomes genéricos nas variáveis e 6 meses depois nem eu sabia o que tinha feito. Depois que comecei a dar nomes com sentido para variáveis e métodos, produzi os códigos e debuguei em muito menos tempo. E com ferramentas de autocompletar códigos de hj em dia, nem ter que digitar muito é mais desculpa para as bizarrices que encontramos.
Além disso, meus métodos sempre tem poucos linha, sempre dar pra ver todo método na tela. Se for ultrapassar, quebro o método em vários outros, todos com nomes significativos. Fazendo isso, não precisa nem comentar o código, os próprios nomes dos métodos elucidam o que o algoritmo faz.
Coloca todos os projetos no Eclipse e abuse da opção Reference->Workspace 