Skip to content
janeiro 29, 2007 / cassiomarques

Quando o modelo não serve

A palavra legado não soa bem aos meus ouvidos. Lembra coisas que devem permanecer inalteradas. Bancos de dados legados, aplicações legadas. “Não mexa, isso pode parar de funcionar a qualquer momento!”, “enrole, empurre para baixo do tapete!”, “admita, você está morrendo de vontade de dar um shift+del em tudo isso e fazer do seu jeito…”
Sem sombra de dúvidas é isso que meu cérebro diz a cada vez que preciso alterar qualquer parte do sistema legado que estou cuidando atualmente: um tremendo spaguetti, onde model-view-controller se torna moew-controdel-llervi e demais permutações, tudo ao mesmo tempo. Código não documentado, C++ programado de maneira estruturada de cabo a rabo. O sistema funciona, sim senhor, e até consigo adicionar novas funcionalidades. Mas sabe qual a sensação que me dá quando finalmente coloco a coisa toda em produção? A sensação de que estou engordando um monstro que, se eu não tomar cuidado, em breve irá me engolir.
Mas o que me fez ter vontade de escrever sobre este assunto foi o que começou a acontecer hoje. algo que sei que vai perdurar até o fim do meu projeto atual.
Trata-se de uma aplicação web escrita em Java que acessa um banco de dados legado. o banco de dados da aplicação citada acima. O banco é bastante organizado e a princípio tudo parece fazer sentido na maneira com a qual ele foi construído. Mas quando tentei modelar alguns POJOs a partir das tabelas do banco, percebi que algo estava tremendamente errado. Tabelas com 45 colunas não podem estar corretas… Imagina uma classe com 45 atributos! E o pior: Não sei se vale à pena dividir as coisas… ou melhor, não vale à pena! Perceber que tudo aquilo que você gostaria de aplicar, toda aquela história sobre design, não irão funcionar desta vez, é meio desanimador…
E fico aqui pensando em uma solução. Onde fica a linha que separa um programa bem escrito e algo que cheira (e parece) gambiarra?

One Comment

Deixe um comentário
  1. Anonymous / mar 29 2007 4:55 pm

    “Mas quando tentei modelar alguns POJOs a partir das tabelas do banco, percebi que algo estava tremendamente errado. Tabelas com 45 colunas não podem estar corretas… Imagina uma classe com 45 atributos! E o pior: Não sei se vale à pena dividir as coisas… ou melhor, não vale à pena!”
    Iniciar o desenvolvimento de um sistema OO utilizando como base um banco de dados relacional nunca é uma boa idéia, na minha opnião.
    Aproveite a situação para adquirir know-how, problemas cabeludos e delicados nos fazem crescer muito como programadores.
    No mais boa sorte nesse e em futuros projetos.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: