Vou dar meu pequeno pitaco aqui: eu já trabalhei em um projeto de migração de código-fonte, de ASP para ASP.net/VB.net. O único motivo para usarem dotnet é que os donos do software queriam manter o código protegido dentro de uma DLL. Eles sabiam que uma DLL pode facilmente sofrer uma engenharia reversa, mas desse jeito eles já eliminariam uns 80 por cento de espertos.
O software era um simulador para elearning feito em Flash e usando ASP para ações no background, como acesso a banco, para funcionalidades auxiliares, e não era tão grande assim. Acho que a parte ASP não chegava a 40, 50 mil linhas de código e só essa parte foi migrada. O grande problema é que o código original era extremamente mal feito. O projeto original foi feito por 2 programadores, um deles era filho do dono da empresa, e foram eles que decidiram pela migração. Após alguns tempo eles contrataram mais um programador (eu) para corrigir bugs e implementar pequenas coisas novas. Além do projeto original mal feito, o “projeto” novo era basicamente o mesmo código em ASP “adaptado” para vb.net (na prática era ctrl-c ctrl-v, roda, se der erro vamos corrigir o que impede o programa de rodar) e TUDO ficava dentro de apenas UMA classe, com trilhões de functions e subs usando intensivamente response.write (não só para o Flash, mas para outras coisas mais triviais como algumas dezenas de CRUDs). Acho que dá pra imaginar que maravilha era trabalhar nisso.
A grande questão que interessa então é quanto tempo essa migração levou. Como tem alguns anos que isso aconteceu eu não me lembro do tempo exato, mas com certeza levou mais do que 5 meses. Se eu não me engano a migração já estava próxima de 1 ano de tempo consumido quando eu entrei. Eu fiquei lá apenas 3 meses e fui para algo melhor depois, mas a migração ainda continuou por mais uns 3 ou 4 meses.
Vamos relembrar os fatores envolvidos:
- os mesmos programadores que fizeram o código original foram os que fizeram o código migrado;
- as linguagens eram muito parecidas;
- o código original, apesar de simples, era uma lástima e assim ficou o código final;
- novos bugs surgiram;
- todo o software teve que ser testado novamente;
- o projeto inteiro levou um pouco mais do que 1 ano;
Como disse o Zé, é difícil fazer algum comentário sobre o projeto citado pelo autor do tópico, mas o que eu poderia dizer é que eu acho bem difícil essa migração durar apenas 5 meses. Não sei se o código é maior ou menor, qual é a qualidade, mas pelo que foi dito, já surgiram alguns fatores complicadores como ambientes diferentes, uso intenso de ajax, entre outras coisas, e aparentemente a migração não será feita pelos mesmos programadores que criaram o código. Isso não é muito bom, mas também não ajuda a dar nenhum tipo de conclusão. Seria preciso discutir mais com os envolvidos no projeto.
Alguns comentários:
“eduacsp”:
A dona da softwarehouse disse que migraria para .NET pois é uma tecnologia nova que permite sejam feitas alterações no código muito mais rápido que o PHP.
.equals(“Falácia”) -> true;
“s4nchez”:
Mas se a idéia é apenas trasnformar de PHP para .NET, sem modificar nada, acredito que pode ser feito em até menos tempo, usando ferramentas específicas para isso.
Que ferramentas?