La naturaleza de mi trabajo es que tengo que alternar entre proyectos cada pocas semanas. Me parece que uno de los mayores impedimentos para mi productividad es el tiempo de aceleración para recuperar todos los elementos relevantes del código "de nuevo en mi cabeza" después de no verlo durante un período. Esto sucede en mayor o menor medida para pausas más breves / pausas más largas.
Obviamente, un buen diseño, documentación, comentarios y estructura física ayudan con esto (sin mencionar el cambio entre proyectos con la menor frecuencia posible). Pero me pregunto si hay prácticas / herramientas que me estoy perdiendo. ¿Cuáles son sus prácticas específicas para mejorar esto?
Algunas cosas que ayudan:
fuente
Hago algo similar a lo que hace RonE.
Tener un proyecto fácil de leer, con un buen diseño ayuda, pero antes de abandonar un proyecto, asegúrese de que todo el contexto y la información que tiene en su cabeza esté escrito o almacenado en algún lugar. Por ejemplo, notas sobre las funciones de biblioteca de terceros que estaba utilizando si era una nueva que nunca antes utilizó. Siempre escribo notas sobre las cosas que aprendo o pienso, en mis propias palabras.
Además, lo que encuentro más importante para escribir en un archivo es si escribe TODO comentarios en su código, copia el último en el que estaba trabajando, y péguelo en un nuevo archivo de texto y llámelo TODO. Escriba en él información contextual sobre dónde pertenece la etiqueta TODO y escriba lo que tenía en mente o lo que cree que le gustaría saber sobre esa tarea.
fuente
Dos cosas han sido clave para mí: consistencia y especificación.
La consistencia es clave para el código. No necesito recordar dónde está todo y cómo interactúa todo si puedo extrapolar lo que hubiera hecho. Si es un proyecto con otros que se vuelve más problemático, pero los estándares de código ayudan bastante. Saber qué es algo al mirarlo y hacer algunas suposiciones seguras disminuye un poco el tiempo de incorporación.
La especificación es más útil para el diseño. Al menos para mí, encuentro que tiendo a olvidar algunos de los matices del diseño del producto después de un descanso. O cuando regrese, es debido a esta increíble idea que rápidamente aparece en el proyecto. Si su proyecto no tiene buenos requisitos (ya sea en una especificación en cascada o una cartera de pedidos del producto), básicamente tiene que reinventarlos cada vez que regrese al proyecto. Casi todas las mejores prácticas para el desarrollo de software siguen siendo las mejores prácticas cuando se trata de un proyecto personal; no escatime en ellos.
fuente
La clave IMO es una API inteligente de cada uno de sus proyectos. También cargar el código en un repositorio como GIT u otros le permite "viajar en el tiempo" a través de sus compromisos con el código.
fuente
Como realizo el soporte de desarrollo y producción para varios clientes, cambio de proyectos varias veces al día. Las dos cosas que más me ayudan son nunca abandonar un proyecto hasta que haya guardado todo (y me comprometo con una sucursal local si no está en el estado en el que quiero volver a colocarla en la rama principal de mi control de fuente) y yo establecer un punto de interrupción en el lugar donde lo dejé Solo poder encontrar rápidamente la línea exacta donde la dejé, me ayuda a volver al ritmo de un proyecto mucho más rápido. También tiendo a crear una lista de tareas pendientes para cada proyecto importante y marcar las cosas a medida que se realizan, por lo que una revisión rápida de eso me dice dónde estoy también y me recuerda mi proceso de pensamiento sobre el proyecto. En general, también me escribo una nota rápida de cosas en las que estaba pensando pero que aún no había hecho si lo necesitaba (cosas como:
fuente