He presentado aquí un proceso general y la idea de un árbol como metáfora del código que desea escribir o ‘crecer’.
- Equilibrate a ti mismo. Desarrolla una sensación de paz. Cuando tiene equilibrio, es más fácil mantener una perspectiva amplia, y también es más fácil permanecer en un estado de flujo para una mayor concentración y productividad.
- Entender. Resuma los requisitos clave, idealmente como una historia de pasos conectados.
- Métete en el código. Renueve su contacto con cualquier código existente. Ejecute sus pruebas y tal vez desarrolle una nueva prueba pequeña o dos.
- TDD para el tronco de la solución. Escriba un caso de prueba que defina alguna parte de nivel medio-alto de un requisito que desea implementar. El caso de prueba lo ayudará a aclarar y consolidar su comprensión de los requisitos detallados. Implemente trozos y simulacros (por ejemplo, fuentes de datos o los resultados de algoritmos complejos) para que pueda trabajar rápidamente y no distraerse con detalles de bajo nivel de otros aspectos.
- Refactorizador Desarrolle y use sus habilidades de refactorización, de modo que a medida que comprenda mejor el problema, pueda remodelar y estructurar el código para que se ajuste a su modelo mental.
- Ponga hojas y flores en el árbol de solución. Desarrolle los detalles y reemplace gradualmente los simulacros con implementaciones reales. Ponga en los comentarios de “todo” para que pueda mantener las cosas lo más simple posible por ahora, y para que pueda poner detalles menores fuera de su mente activa y en el código para encontrarlos más tarde.
- Poda el árbol. Cuando el código esté tan completo como lo necesita por ahora, elimine cualquier simulación temporal restante y comentarios innecesarios.
- Barrer las hojas. Revise el código y escriba algunas tareas / problemas adicionales para parte del trabajo restante, incluida la eliminación de cualquier ‘deuda técnica’ (por ejemplo, casos extremos o enfoques ineficientes o no escalables que haya utilizado en la primera implementación de trabajo)
Este proceso y metáfora pueden resultar útiles para ayudarlo a entrar en flujo y permanecer allí durante todo el proceso de programación.