| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 13:10:26
|
AndrewAguiar
JavaChild
Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline
|
Olá pessoal.
Estava eu pensando tentando implementar o mecanismo de mapeamento de herança no Angra http://www.guj.com.br/posts/list/57273.java quando me deparei com a seguinte situação.
O projeto estava muito bagunçado e a implementacao dos relacionamentos estavam feitas de forma porca, vi então que para continuar teria que refazer o projeto inteiro.
Ai pergunto a voces existe uma boa maneira de fazer isso, tentei deste modo:
* Fiz um backup do projeto.
* Fui alterando o que precisava
* E sempre rodando os testes no JUnit para ver se ainda funcionava.
Só que chegava uma hora eu me perdia nas alterações e acabava desistindo.
Alguém ja passou por isso de ser obrigado a refazer um projeto?
Grato a todos.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 13:45:51
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
Oi,
Acho que o maior problema de se fazer um refactoring eh vc convencer o seu gerente que ele eh necessario, e que a relacao custo x beneficio ira compensar no futuro, ou seja, se eu arrumar hoje alguem no futuro nao vai ficar se descabelando para corrigir bugs 'impensaveis'
Convencido o gerente das alteracoes acho que o melhor eh sempre usar um Controle de Versao e ir testando as alteracoes uma a uma mesmo, se o comportamento for o esperado e os bugs corrigidos 'commit' neles..
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 13:47:11
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
Outra coisa, alem de usar um Controle de Versao (que vai te ajudar a controlar as alteracoes que fizer) seria muito bom que outras pessoas (que nao mexeram no codigo) fizessem os testes..
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 14:30:56
|
AndrewAguiar
JavaChild
Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline
|
Quanto ao gerente. É um projeto para TCC, e o unico desenvolvedor sou eu.
É o esquema de controle de versão acabei não fazendo, ta só um projeto unico no eclipse sem cvs nem nada.
Valew.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 14:38:20
|
Eduardo Bregaida
Moderador
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline
|
André Fonseca wrote:Oi,
Acho que o maior problema de se fazer um refactoring eh vc convencer o seu gerente que ele eh necessario, e que a relacao custo x beneficio ira compensar no futuro, ou seja, se eu arrumar hoje alguem no futuro nao vai ficar se descabelando para corrigir bugs 'impensaveis'
Convencido o gerente das alteracoes acho que o melhor eh sempre usar um Controle de Versao e ir testando as alteracoes uma a uma mesmo, se o comportamento for o esperado e os bugs corrigidos 'commit' neles..
To me ferrando aki na empresa, pq o codigo ta mal escrito, cheio de coisas q nem sao chamadas e o pior nao tem estrutura de pacotes, as classes tem nomes bizarros... é realmente um inferno, qdo falei q mudar ninguem aceitou... ou seja... tá um sufoco criar um ativa/desativa p/ 1 cliente pq ta mal estruturado...
|
Blog - Java Anywhere
@bregaida - Twitter
Flickr - Fotos
Cursos de Java?
"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 15:00:11
|
AndrewAguiar
JavaChild
Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline
|
Heero Yuy wrote: To me ferrando aki na empresa, pq o codigo ta mal escrito, cheio de coisas q nem sao chamadas e o pior nao tem estrutura de pacotes, as classes tem nomes bizarros... é realmente um inferno, qdo falei q mudar ninguem aceitou... ou seja... tá um sufoco criar um ativa/desativa p/ 1 cliente pq ta mal estruturado...
E o pior é que tende a piorar, o pessoal com pressa de implementar não arruma o que tem e fica cada vez mais dificil fazer modificações.
chega uma hora que se voce for ver o tempo que voce ta gastando para fazer uma alteração simples já ultrapassaria a refatoração.
Ou seja voce economiza umas 10h de desenvolvimento hoje e amanha gasta umas 30..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 15:08:18
|
Eduardo Bregaida
Moderador
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline
|
AndrewAguiar wrote:
Heero Yuy wrote: To me ferrando aki na empresa, pq o codigo ta mal escrito, cheio de coisas q nem sao chamadas e o pior nao tem estrutura de pacotes, as classes tem nomes bizarros... é realmente um inferno, qdo falei q mudar ninguem aceitou... ou seja... tá um sufoco criar um ativa/desativa p/ 1 cliente pq ta mal estruturado...
E o pior é que tende a piorar, o pessoal com pressa de implementar não arruma o que tem e fica cada vez mais dificil fazer modificações.
chega uma hora que se voce for ver o tempo que voce ta gastando para fazer uma alteração simples já ultrapassaria a refatoração.
Ou seja voce economiza umas 10h de desenvolvimento hoje e amanha gasta umas 30..
Bem lembrado tenho 3 semanas p/ fazer uma pá de coisa...
|
Blog - Java Anywhere
@bregaida - Twitter
Flickr - Fotos
Cursos de Java?
"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2007 16:23:27
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Eu já passei por isso.
Não tente corrigir tudo de uma só vez. Vá fazendo aos poucos. É essa a principal vantagem do refactoring. Trabalhe sobre o trecho que você está atuando que, ao longo do tempo, o código ficará muito bom. Cada arrumação que você fizer, depois de um tempo, vai te dar visão para onde arrumar mais. É um método bastante kaizen, mas efetivo.
Refazer o código todo só em caso de extrema urgência. Mas daí nesse caso, nem sempre é bom partir do código antigo. Crie um projeto novo, re-analise e, no máximo, estude o funcionamento de um ou outro método que você considera bem implementado.
|
|
|
 |
|
|