Oi pessoal,
Semana passada eu e o Alberto discutimos sobre mutabilidade e imutabilidade em sistemas Java. Em sistemas comerciais, é bastante comum vc ter entidades e essas entidades são geralmente mutáveis; ou seja, vc tem setters que modificam a entidade de alguma forma.
A desvantagem é que é fácil vc perder o controle de quem está mudando o estado do objeto quando vc tem uma longa lista de métodos invocados.
NotaFiscal nf = // veio do banco;
metodo1(nf)
metodo2(nf)
metodo3(nf) <-- muda o estado
metodo2(nf) <- aqui talvez vc nao saiba que metodo 3 alterou o estado
metodo1(nf) <- aqui menos ainda
Pensamos então na possibilidade de alertar o usuário quando um objeto desses é alterado fora do escopo em que é declarado.
Ainda não coloque muita fé na ferramenta, pois gastamos apenas 2h nela. A ideia é explorar!!
Quero saber o que vcs acham da ideia!
Um abraço,