25 may 2020

Mejorar el mapa mental ayuda a mejorar la codificación

Anne

Como desarrollador de software y editor de revistas prominentes de programación, Andrew ha discutido frecuentemente los beneficios de hacer notas mientras codifica para entregar código claro y confiable. Él encuentra que registrar observaciones y tareas por hacer en un documento estructurado mientras está codificando le ayuda a llevar un seguimiento de dónde está en un proyecto y hacia dónde necesita ir.

Después de probar varias formas de registrar estas notas de manera inteligente, descubrió que los mapas mentales eran una solución elegante. Podía representar la parte del proyecto en la que estaba trabajando en un mapa mental y decorarlo con notas y tareas por hacer, que luego eran fáciles de encontrar.

Este enfoque libera espacio mental para él, permitiéndole concentrarse en el código en el que está trabajando, sin perder ninguna información contextual que necesita. También utiliza mapas mentales para analizar el código, como se explica en la siguiente entrevista.

Por favor, cuéntanos un poco sobre ti.

Durante los últimos cinco años, he sido el editor de Java Magazine (de Oracle). Anteriormente, fui el editor en jefe de Dr. Dobb’s Journal. Y en vidas anteriores, he sido el editor de varias publicaciones de programación. Comencé mi carrera como desarrollador de software y he continuado programando como una actividad secundaria, contribuyendo a varios proyectos de código abierto y trabajando en proyectos propios.

¿Qué haces para divertirte?

Estudio piano. Es mucho más difícil que programar. El camino hacia ser experto en piano es realmente arduo. Creo que la mayoría de los programadores tienden a ser demasiado confiados en sus habilidades de programación. Sé que yo lo soy hasta que me doy cuenta de la realidad al ver código antiguo y preguntarme cómo pude haber escrito eso alguna vez. Pero con el piano, hay humildad todo el tiempo. Siempre eres consciente de cuánto más hay por aprender y lo inalcanzable que es el nivel de los grandes pianistas.

¿Cómo te ayuda el mapa mental en tu vida o trabajo?

Utilizo mapas mentales en dos áreas diferentes:


  1. Lluvia de ideas sobre tareas y proyectos para mí o con familia y amigos;

  2. Programación. Como describo más adelante, uso mapas mentales para tres propósitos principales en el desarrollo de software.

¿Cuánto tiempo llevas usando XMind?

Probablemente han sido seis o siete años; quizás más.

¿Cómo se te ocurrió usar XMind en la codificación, dado que no es común entre los desarrolladores?

Originalmente comenzó con Kent Beck (el padre del Ágil) quien una vez sugirió que era un buen hábito llevar un seguimiento de todas las decisiones que tomas al programar. (Tanto las importantes como: “Mantendré el valor máximo de esta variable en 70.” “Me aseguraré de que los usuarios puedan ingresar valores fraccionarios en sus pedidos.” y las más pequeñas, como “Necesito expandir las pruebas de integración para cubrir este nuevo código.” Y así sucesivamente.) Lo que encontré fue que simplemente escribir estas decisiones no era suficiente. Pero ponerlas en el rastreador de tareas/defectos del proyecto era excesivo. Así que comencé con un mapa mental que desarrollé de la parte del proyecto en la que estaba trabajando y lo decoraría con estas micro decisiones y notas, de modo que pudiera encontrarlas y revisarlas cuando trabajara en otra parte del proyecto. Encontré la representación del mapa mental muy útil para encontrar rápidamente notas, de tal manera que pudiera encontrarlas y revisarlas cuando trabajara en otra parte.

También uso mapas mentales cuando trabajo en el diseño de una característica. Comienzo con la nueva característica como el tema principal y luego desarrollo ramas para subcaracterísticas y luego adjunto decisiones a esas ramas, así como notas de implementación, recordatorios e incluso cosas como nombres propuestos para objetos y métodos. Esto me permite pensar en detalle sobre el código mucho antes de haber escrito una sola línea. Muchas veces, moveré alguna rama que contiene varios métodos a otra rama, lo que me permite cambiar cosas fácilmente y me da más confianza sobre hacia dónde me dirijo cuando empiezo a escribir el código.

Este es un caso de una nueva característica: una adición de HTML a una herramienta existente:

Mind map illustrating HTML5 support, covering output verification, plugin details, and startup process.

Finalmente, he comenzado a usar mapas mentales cuando leo código desconocido. La mayoría de los programas tienen una arquitectura jerárquica, que sorprendentemente es amena para ser representada en un mapa mental. Este es un análisis de una biblioteca llamada iText 7, un caso de uso poco visto pero práctico.

⚠️ falta imagen

De esta manera, mientras leo el código, puedo ver en el mapa mental dónde he estado y cómo llegué a donde estoy ahora. Puedo ver el camino que me lleva a mi lugar actual. Además, mientras leo, estoy desarrollando documentación que puedo consultar nuevamente más adelante. Aún estoy experimentando con este caso de uso.

¿Cuál es tu característica favorita/características favoritas en XMind? ¿Por qué?

Honestamente, es la facilidad de uso. Puedo moverme rápidamente y poner en el mapa mental lo que está en mi cabeza. Me gusta mucho eso, porque muy a menudo el tiempo es esencial cuando tienes algo que quieres capturar.

¿Cómo mantienes la productividad? ¿Alguna otra aplicación de productividad que estés usando?

He escrito mucho sobre este tema en varios editoriales. Encuentro que eliminar distracciones, usar buenas herramientas y escuchar música clásica son de gran ayuda.


¿Café o té?

Café para empezar la mañana. Luego té la mayor parte del día. En cuanto a otras opciones binarias: Perros antes que gatos, espacios antes que tabulaciones, Brahms antes que Wagner, Monet antes que Manet.

Notas: Foto cortesía de Bob Adler

Más Publicaciones