Boa tarde amigos,
Gostaria de saber se já existe algum plano ou ideia sobre a reformulação total do e-cidade ? Falando na linguagem dos programadores "começar tudo do zero" ?
Trabalho com desenvolvimento web a mais de 6 anos e sei o quanto é custoso e demorado elaborar uma ferramenta tão completa como o e-cidade, mas sei também que chega certo ponto que se o código não for constantemente refatorado a ferramenta vai se tornando mais fonte de problema do que soluções.
Analisando o código da ferramenta encontrei "requisitos" que levam a duvidar da qualidade do código logo de cara. Como:
- Register Globals ativado (on)
Isso não só leva a aplicação ficar totalmente vulnerável, prolonga a utilização de código ultrapassado e mal escrito, fica tudo no famoso "ta funcionando, então deixa"
- Display Errors desativado
Esconder os erros de código da sua aplicação não é um bom caminho, sempre. Isso não se discute.
- Você é obrigado a utilizar exatamente as versões do firefox e do postgresql, se você estiver usando uma versão mais recente não pode, você tem que ir la no XML de config e adicionar a versão que você quer usar.
- Aumentar absurdamente os recursos que o PHP irá consumir do servidor, como passar o seu memory_limit de 64M para 512M, aumentar o max_execution_time para 60000 e etc...
E a parte do código:
- Estrutura do código
Hoje a estrutura consta com pastas como "funcoes", "classes", "bin", "libs", "templates", "interfaces" .. ambiguidades claras que dificultam a manutenção do software.
Sem falar que pasta raiz, temos mais de 10 mil arquivos, todos seguindo uma nomeclatura do tipo "agu1_", "agu2_", "cad2_", "cad2_"
Já está mais que provado que uma estrutura clara como a MVC, facilita, ajuda e diminui custos de manutenção.
- Falhas de segurança
Coisas básicas como, receber parametros via GET e inserir diretamente em chamadas SQL sem tratamento dessas variáveis, são práticas comuns dentro de todo o código. Assim como a inserção da @ para omitir erros.
Sem falar que o debug de SQL mal executadas, em várias partes do software, imprimem a SQL na tela.
Essa avaliação do código/estrutura da aplicação eu fiz em menos de 2 horas, acredito que se for mais a fundo na aplicação vou encontrar mais coisas que me levam a pergunta inicial dessa thread:
Já existe a ideia ou algum projeto sobre a reformulação total do e-cidade ?
Gostaria de participar, pois vejo que várias prefeituras querem utilizar esse software, até mesmo por "pressão" de algumas instituições pelo fato de ser software livre, e todos aqui sabem, que infelizmente o argumento que ainda convence governo/prefeitura a utilizar software livre é cortar custos , fazer coisa barata, qualquer um pode mexer...
E nesse ponto que eu me preocupo, levar um software com essa qualidade para dentro de uma instituição pública, só pra ficar se gabando que não "gastou nada", é burrice.
Autor: Bruno Fernandes
2323 comentários
Welder Sean Marques Maciel
Confesso que não gosto muito da ideia de criar um fork, porem considerando que o e-cidades só é um software de código aberto que não recebe e não devolve as contribuições da comunidade. Sua ideia é bem vinda, tenha ciência que você terá uma tarefa hercúlia. Waldenilso,
Não vejo motivo que justifique o JEE. O E-cidades é muito muito grande para tentar reescrever inteiro em outra linguagem que não terá um ganho tão grande assim. Melhorar o que já existe em PHP irá manter uma retro compatibilidade com o que já existe está menos traumático para quem desejar ajudar e migrar. Senhores,
Independente da tecnologia dependendo do desejo é mais fácil escrever um software do ZERO do que tentar manter compatibilidade com o e-cidades. Só lembrando que é um software produto de uma empresa, que tem seu código aberto. Então qualquer esforço pode ser perdido.