¿Qué hacer después de completar el proyecto, pero antes de pasar al siguiente?

8

Estudié informática y ahora trabajo en una empresa como desarrollador único en un proyecto Java bastante ágil durante casi un año. El proyecto pronto se completará con éxito (¡al menos eso espero!).

La funcionalidad principal ... está funcionando e incluso algunas otras cosas que no estaban en los requisitos de inicio. Incluso tengo muchas ideas para nuevas funciones que no son necesarias, pero que ayudarían con la usabilidad y funcionalidad del programa.

Algunas partes del programa funcionan muy bien, mientras que otras partes tienen código del que no estoy muy orgulloso ...

Desde el comienzo del proyecto, he aprendido mucho y, por lo tanto, ahora sé cómo escribir teóricamente un mejor código en esas partes, ¡lo que hace que te des cuenta de los errores que cometiste y que no notaste antes!

El problema: después del proyecto no habrá mucho tiempo para hacer nada, simplemente no es posible volver a escribir desde cero. Y volver a escribir solo las partes defectuosas requeriría profundizar en la funcionalidad central: ¡lleva mucho tiempo!

¿Existen métodos / estrategias para aprender de mis errores y mejorar aún más el próximo proyecto?

¿Hay algo más que deba hacer después de completar el proyecto, pero antes de pasar al siguiente?

hamena314
fuente
3
La mayoría de los proyectos de software no se reescriben, y ninguno es perfecto o terminado a menos que se retiren del servicio. El resultado más probable es que pase a algún proyecto nuevo y proporcione arreglos de mantenimiento en el proyecto original.
Robert Harvey
44
@gnat Esta pregunta se ajusta claramente a nuestra imagen teórica del alcance del sitio . Esta es una actividad de "disposición" o "post mortem".
Thomas Owens
1
@ThomasOwens según mi lectura, el problema aquí no es la actualidad (cabe aquí por tema) sino la falta de la pregunta que se debe responder. "Qué hacer ..."
mosquito
2
@gnat Está pidiendo un proceso o metodología. Estoy leyendo esto como un proceso post-mortem para un solo desarrollador. Todas mis experiencias han sido en un equipo, por lo que realmente no puedo proporcionar una respuesta útil.
Thomas Owens
3
@ThomasOwens: Esto es un poco amplio. Normalmente exigimos que las preguntas sean un poco más específicas que "¿tiene algún consejo para mí?"
Robert Harvey

Respuestas:

1

Un buen código, como la buena ciencia, demuestra su capacidad para trabajar / hacer lo que pretende de una manera aprobada por un grupo de colegas. Si esta aplicación funciona, eres parte del camino, pero probablemente no puedas exponer este código al público y estás trabajando solo.

Comience un proyecto personal. Cuanto antes mejor. Esto logra algunas cosas:

  1. El código es una excelente forma de documentación para el código. Aprendemos de los ejemplos y, aunque podemos obtener más información al debatir o documentar el código, todavía nos gusta el código.
  2. Haz que otros vean tu código. Haga preguntas específicas sobre Stackoverflow. Crea o contribuye a un proyecto de código abierto. Únase a un grupo de desarrolladores locales y haga que lo vean.
  3. Practique la refactorización: tome parte de su proyecto e imite la forma en que lo hizo en su proyecto anterior y luego refactorícelo. Tener control de fuente para mostrar el antes y el después. De nuevo, el código es importante.
  4. Pon a prueba tus nuevos conocimientos de codificación. Construya otras partes de la manera que ahora cree que debería hacerlo. ¿Funciona? ¿Es realmente mejor que a la antigua usanza? ¿Cuál es tu criterio? ¿Más rápido, más fácil de escribir, mantener?
  5. Agrega una característica extrema. Ahora veremos si su código es realmente mantenible. Escriba partes de él para un RDBMS y una base de datos Nosql. Cree su aplicación web para que también se ejecute en una línea de comandos Cree un archivo de registro que rastree cada vez que alguien no cierre la aplicación correctamente (dije que era una locura).

Probablemente hay muchas notas y otra documentación que podría reunir, pero cada vez que pueda lograr cosas en el código, hágalo. Mejoras en la programación como la mayoría de las cosas con práctica y con suerte algunas medidas para mejorar. Las revisiones por pares pueden ayudar si está mejorando. Si tiene una aplicación que se expone a un grupo de usuarios que pueden proporcionar comentarios, aún mejor. No conocerán los detalles, pero reconocerán mejoras en la velocidad, un mejor diseño y su capacidad para hacer cambios / arreglos más rápido. Esto no tiene que ser un proyecto extenso. Simplemente pregunte, "¿Es esto mejor o no?"

JeffO
fuente