rvf, software e mitos

Posts Tagged ‘frameworks customizados

Depois de um tempo sem postar (puderas, semanas de finalização de versões, instalações e suporte ao teste lá no trabalho, sim, tudo isso em paralelo e não necessariamente se referem ao mesmo projeto. Já disse que começou a faculdade?), venho deixar uma lembrança aos dois ou três (obrigado mãe!) navegantes que tenho por aqui: Sabe aqueles projetinhos simples, que seu chefe tirou lá do fundo do baú, que ninguém queria fazer e você foi o felizardo em “matar no peito”? É dele que quero falar hoje.

Quando você está envolvido num novo projeto, principalmente nas vezes em que você responderá pela arquitetura do mesmo, te vem na cabeça milhares de idéias que –a principio- estão fora do escopo do mesmo (e do cliente), em conjunto com as idéias, surge uma nuvem de frameworks na sua mente, e o tesão de integrá-los, utilizando o maior numero possível de jars, preferindo a escolha de um framework de validação para o “isBlank” (créditos ao Alex) ao invés de implementar a droga do método e, de quebra, tudo isso bombando com aspectos e injeções de dependências na testa. Pense sobre isso, e reflita: Você precisa disso tudo? Você vai precisar daquela coisa que você fez apenas para “SE UM DIA…” mesmo? Não e não!

Projetos simples devem ficar simples. Quanto mais simples ele ficar, melhor pra você, pro seu cliente e para o futuro desenvolvedor que irá dar manutenção no mesmo, pois não precisará aprender aquele bolo de tecnologias que você pensou em empurrar no seu projeto. Faça uso de ferramentas que vieram para facilitar, desde frameworks para desenvolvimento rápido e ágil: Grails, Django, Rails, .. até mesmo as boas e velhas IDEs, como o NetBeans, que já gera uma aplicação JSF a partir de entidades JPA, completinha e bonitinha. Dentre várias outras opções. Keep It Simple, Stupid!

Conversando com um conhecido estes dias, o mesmo disse que está passando por poucas e boas por causa de um projeto que, quando aparecem manutenções, são de cair os cabelos. Claro, o software deve ter sido criado por um projetista não muito interessante, no meio disso, algo mais sério me chamou a atenção: O sistema utiliza o Framework Struts 1 customizado por algum desenvolvedor que passou por ali. Ainda não entendeu? Isso significa que o sistema está preso a uma versão especifica de um framework (que diga-se de passagem, ninguém mais merece Struts, ainda mais, customizado!), onde qualquer atualização do mesmo acarretaria em verificar os pontos alterados e tentar atualizar, ou seja, fora de cogitação! E então, a ferramenta entra em processo de end of life.

Você não deve customizar um framework (ha não ser que sua intenção seja enviar patches ao projeto), eu sei que as vezes parece ser tentador, mas evite. Considerando que esteja trabalhando com uma linguagem OO, a melhor opção seria estender funcionalidades e especializar aquelas classes que você esta pensando seriamente em estrupar customizar hardcoded like.



  • Nenhum
  • Adolfo: Muito bom este post. Acho que tudo isso pode ser resumido em uma única palavra: humildade (isso não significa não defender seu ponto de vista).
  • Adolfo: Olá Robson, Alguns modelos até consegui identificar em alguns projetos que já trabalhei... Com algumas coisas eu concordo e outras não... Q
  • milah: Eu tenho um Amazon L71. Até 2 meses atrás não tive problemas com ele. Já troquei a placa de lan dele, por uma que capta melhor wi-fi. Só que ago