Se você já passou por pelo menos três empresas diferentes, com certeza já presenciou o seguinte diálogo:
– Por que o sistema X tá desse jeito?
– Porque já tava assim antes de você chegar.
– E por que ninguém mudou isso?
– Porque aqui se você muda, você é o pai da criança…
Aí você toma coragem (ou uma garrafa de whisky) e resolve sujar as mãos e analisar o código legado… depois de analisar 500 classes e milhares de linhas de código você chega ao seguinte resultado:
Total de testes: zero
Total de comentários no código: quarenta (todos automáticos gerados pelo Eclipse)
Variáveis e métodos criados com nomes esclarecedores: zero, o código está cheio de contador, contador2,contador3, etc.
Depois dessa análise dá vontade de mudar de emprego ou de tomar mais uma garrafa… e olha que eu nem mencionei a parte do banco de dados, onde os sistemas legados tem muitas rotinas sensacionais que fazem diversos cálculos e depois no final tem um “return null“.
Provavelmente se o seu bom senso agir, você deixa o legado e parte para outro projeto, pois o legado realmente é largado!
Se você resolve perguntar sobre testes do sistema, e descobre que o único teste que ele sofre desde que os usuários estão usando é o famoso e tão usado Teste em REP (Runtime em produção), ou seja, nenhum teste!
Duas reflexões sobre essa situação tão comum:
1 – Como as empresas deixaram chegar nesse ponto ?
Infelizmente temos muitas oligarquias na área de informática que possuem muitos profissionais de TI sem o T que não tem o menor interesse na qualidade do que está sendo feito, eles apenas inocentemente esperam e cobram por resultados.
2 – Como evitar essa situação ?
Eu li nesse artigo uma frase muito interessante que esclarece bem o problema: código sem testes já nasce legado, ou seja, se o seu código não tem teste, ele é largado!
Nesse artigo aqui, o autor exemplifica como o refactoring pode ajudar o seu código a ficar mais claro, é interessante ler o artigo e as opiniões dos comentários.
E, como diz o Fernando Franceschi, “o fazer depois não existe, tem que fazer certo da primeira vez“. Com certeza sempre antes do “depois” aparece algo mais urgente para fazer, e a bola de neve aumenta…
Fernando Boaglio, para a comunidade. =)