Sempre me considerei uma pessoa Para os que não sabem, iniciei recentemente um estágio profissional, remunerado :), que me colocou em contacto com um projecto desenvolvido em no Joomla!. O projecto pretende gerir as formações, dadas por empresas de formação certificadas, e começou por ser algo pequeno e virado para os usos pessoais da empresa para a qual trabalho.Portanto, dado que foi até o projecto de apenas uma pessoa, e que tinha um objectivo muito limitado e subvalorizado, existem várias opções que foram tomadas inicialmente e que neste momento me estão, sim a mim que estou a trabalhar naquilo, a trazer mais problemas que soluções.
Depois de cerca de duas semanas de trabalho é notório como optimizações de BD nos causam agora demasiados problemas, especialmente porque o processo de Bolonha não mexeu apenas com as universidades mas com todo o tipo de ensino, onde as formações se incluem, e muito do sistema não estava preparado para mudança. Se a isso acrescentarmos código sem documentação, feito por várias pessoas que até há bem pouco tempo não tinham qualquer sistema de controlo de versões, podem imaginar o caos no qual, as cerca de 5 centenas de ficheiros de código e as 200 tabelas, se encontram.
Neste momento luto por concluir algumas funcionalidades base que são necessárias mas a minha maior dificuldade não é o código, ou a linguagem, ou até o que está por trás, neste caso o Joomla!, mas sim as decisões de se criar a tabela desnormalizada, de se criarem funções aqui e ali sem comentários, de se misturar regras de codificação, de se decidir que seria melhor poupar alguns milisegundos que criar duas tabelas e fazer uma query mais pesada.
Convenhamos, o utilizador não vai pensar nesses milisegundos que o sistema lhe toma, e para as actulizações que o sistema necessita, como todos os sistemas, seriam mais fáceis se se tivessem seguido as regras que foram ensinadas na universidade!
Assim, deixo uma recomendação a todos os que ainda pensam que a teoria nada tem a ver com a prática, que as optimizações e “maravilhas” de código que escrevem e que poupam 3 milisegundos ao carregamento da página e que quebram todas as regras de boas práticas porque agora não estão a ser avaliados por um daqueles professores que só implicam: essas regras existem porque são importantes, usem e abusem delas, porque um dia aquilo que escolhem fazer voltará para vos assombrar!
P.S.: Para os que pensam já em comentar que optimizações são boas, desnormalização existe e é importante, deixem que esclareça que uso de tudo isso, mas q.b. e quando tenho provas que se justifica, e isso só se obtém com a aplicação pronta a funcionar e em avaliação onde se aplicam boas práticas de profilling! Qualquer outra “melhoria” tirada da cabeça é meio caminho andado para o desastre, claro podem não ser voçês a ter de resolver o problema e nesse caso, por quem sois, fazei como melhor entenderdes.