Estudei ciência da computação e agora estou trabalhando em uma empresa como desenvolvedor único em um projeto Java bastante ágil há quase um ano. O projeto em breve será concluído com êxito (pelo menos, espero!).
A funcionalidade principal ... está funcionando e até outras coisas que não estavam nos requisitos de início. Eu tenho muitas idéias para novos recursos que não são necessários, mas ajudariam na usabilidade e funcionalidade do programa.
Algumas partes do programa funcionam muito bem, enquanto outras têm código que não me orgulha muito ...
Desde o início do projeto, aprendi muito e, portanto, agora sei escrever teoricamente um código melhor nessas partes - o que faz você perceber os erros que cometeu e que não havia notado antes!
O problema: não haverá muito tempo depois que o projeto faça alguma coisa, não é possível reescrever do zero. E reescrever apenas as partes ruins exigiria se aprofundar na funcionalidade principal -> leva muito tempo!
Existem métodos / estratégias para aprender com meus erros e tornar o próximo projeto ainda melhor?
Há mais alguma coisa que devo fazer depois de concluir o projeto, mas antes de passar para o próximo?
fonte
Respostas:
Um bom código, como uma boa ciência, demonstra sua capacidade de trabalhar / fazer o que pretende de uma maneira que seja aprovada por um grupo de colegas. Se esse aplicativo funcionar, você fará parte do caminho, mas provavelmente não poderá expor esse código ao público e estará trabalhando sozinho.
Inicie um projeto pessoal. Quanto antes melhor. Isso realiza algumas coisas:
Provavelmente há muitas anotações e outras documentações que você pode reunir, mas a qualquer momento você pode realizar as coisas no código, faça isso. Você fica melhor na programação, como a maioria das coisas com prática, e espero que algumas medidas para melhorar. As revisões por pares podem ajudar se você estiver melhorando. Se você tem um aplicativo que é exposto a um grupo de usuários que podem fornecer feedback, ainda melhor. Eles não conhecerão os detalhes, mas reconhecerão melhorias na velocidade, melhor design e sua capacidade de fazer alterações / correções mais rapidamente. Isso não precisa ser um projeto extenso. Basta perguntar: "Isso é melhor ou não?"
fonte