Versionamento de classes

6 respostas
E

Boa tarde.
Vocês conhecem alguma técnica para versionar classes?

Com esta informação disponível, seria necessário com algum executável ou classe que consiga acessar atl informação, mesmo que a classe desejada esteja com alguma exceção que não permita sua instanciação.

Grato.
Ederson.

6 Respostas

cv1

Existem dois tipos de versionamento de classes: um que garante que os contratos delas nao mudam, e outro que diz que o formato serializado delas vai continuar compativel (mas nao necessariamente o mesmo).

No primeiro caso, o pessoal do Eclipse achou um jeito bem interessante (nao muito elegante, mas simples): caso vc va fazer uma alteracao que estraga o contrato da classe, crie uma nova chamada NomeDaClasse2 (3, 4, 5…), e deixe a classe antiga deprecada, deixando uma mensagem do tipo “ei, voce esta olhando no lugar errado! Veja em Foo2!”.

Sobre o segundo (compatibilidade binaria, se eh que podemos chamar assim), de uma lida na especificacao do mecanismo de serializacao do Java. Acho que ele explica bem melhor do que eu poderia :smiley:

Link: http://java.sun.com/products/jdk/1.2/docs/guide/serialization/spec/serialTOC.doc.html

E

Muito obrigado CV.
Estarei dando uma olhada no documento e informando a conclusão.

Grato.
Ederson

Luca

Olá

Será que entendi bem?

O CVS versiona as classes. Você pode montar seu aplicativo (.jar) usando as versões corretas de cada classe.

[]s
Luca

cv1

Pois eh, Luca… acho que vc viajou um pouquinho :smiley:

Note esse trecho:

Acho meio dificil fazer isso no CVS :wink:

Mas a dica de usar um sistema de controle de versao para o codigo-fonte eh sempre valida, claro :smiley:

E

Bom dia a todos.

Realmente mantêr-se o versionamento do código fonte é sempre importante, mas na atual empresa onde estou prestando consultoria eles gostariam que fosse possível visualizar tal informação durante execução das classes.
Um exemplo apresentado seria, quando ocorre-se o erro em determinado ponto da aplicação, seriam apresentados nome de classe, método em que ocorreu a falha e a versão desta, para verificar se houve falha em versionamente antes de criar o pacote jar ou outros possíveis erros.
Estou dando uma estudada na serialização delas, assim que conseguir algo realmente interessante e que realmente faça valer a pena utilizar coloco para todos aqui.

Agradeço a atenção de todos e tenham um bom dia.
Ederson.

cv1

Leia com bastante carinho a parte da spec de serializacao que fala sobre o serialVersionUID - eu nao quero estragar a surpresa, mas eh exatamente disso que vc precisa :wink:

Criado 19 de janeiro de 2004
Ultima resposta 20 de jan. de 2004
Respostas 6
Participantes 3