Sou desenvolvedor web iniciante (um ano de experiência).
Algumas semanas depois de me formar, me ofereceram um emprego para criar um aplicativo da Web para uma empresa cujo dono não era muito técnico. Ele me recrutou para evitar o roubo de sua idéia, o alto custo de desenvolvimento cobrado por uma empresa de serviços e ter alguém jovem em quem ele possa confiar para manter o projeto a longo prazo (cheguei a essas conclusões sozinho depois de ser contratado )
Arrogante como eu era naquela época, com um diploma em ciência da computação, aceitei a oferta pensando que posso construir qualquer coisa.
Eu estava dando os tiros. Após algumas pesquisas, decidi pelo PHP e comecei com o PHP simples, sem objetos, apenas código processual feio. Dois meses depois, tudo estava ficando bagunçado e era difícil progredir. A aplicação web é enorme. Então, decidi verificar uma estrutura MVC que tornaria minha vida mais fácil. Foi aí que me deparei com o garoto legal da comunidade PHP: Laravel. Adorei, foi fácil aprender e comecei a codificar imediatamente. Meu código parecia mais limpo, mais organizado. Parecia muito bom.
Mas, novamente, o aplicativo da web era enorme. A empresa estava me pressionando para entregar a primeira versão, que eles queriam implantar, obviamente, e começar a procurar clientes.
Por ser divertido trabalhar com o Laravel, isso me fez lembrar por que escolhi esse setor em primeiro lugar - algo que esqueci enquanto estava preso no sistema de educação de merda.
Então comecei a trabalhar em pequenos projetos à noite, lendo sobre metodologias e melhores práticas. Revisei o POO, passei para o design e análise orientados a objetos e li o livro Clean Code, do tio Bob .
Isso me ajudou a perceber que eu realmente não sabia de nada. Eu não sabia como criar software da maneira certa. Mas, a essa altura, era tarde demais e agora estou quase terminando. Meu código não é nada limpo, apenas código espaguete, uma verdadeira dor para corrigir um bug, toda a lógica está nos controladores e há pouco design orientado a objetos.
Estou com esse pensamento persistente de que preciso reescrever todo o projeto. No entanto, eu não posso fazer isso ... Eles continuam perguntando quando tudo será feito.
Não consigo imaginar esse código implantado em um servidor. Além disso, ainda não sei nada sobre a eficiência do código e o desempenho do aplicativo Web.
Por um lado, a empresa está esperando o produto e não pode mais esperar. Por outro lado, não consigo me ver indo mais longe com o código real. Eu poderia terminar, finalizar e implantar, mas só Deus sabe o que pode acontecer quando as pessoas começarem a usá-lo.
Eu reescrevo, ou apenas continuo tentando enviar, ou há outra opção que eu perdi?