25 de mai. de 2020
Mapeamento Mental Melhorado Ajuda na Codificação Melhor
Anne
Como desenvolvedor de software e editor de revistas de programação de destaque, Andrew discutiu frequentemente os benefícios de fazer anotações enquanto programa para entregar um código claro e confiável. Ele considera que registrar observações e tarefas a serem feitas em um documento estruturado enquanto está programando o ajuda a manter o controle de onde está em um projeto e para onde precisa ir.
Depois de tentar várias maneiras de registrar essas notas de forma inteligente, descobriu que os mapas mentais eram uma solução elegante. Ele podia organizar a parte do projeto em que estava trabalhando em um mapa mental e decorá-lo com notas e tarefas a fazer, o que depois ficava fácil de encontrar.
Essa abordagem libera espaço mental para ele se concentrar no código em que está trabalhando, sem perder nenhuma informação contextual que precisa. Ele também usa mapas mentais para analisar código, como explicado na entrevista a seguir.
Por favor, fale um pouco sobre você.
Nos últimos cinco anos, fui editor da Java Magazine (da Oracle). Anteriormente, fui editor-chefe da Dr. Dobb's Journal. E em vidas passadas, fui editor de várias publicações de programação. Comecei minha carreira como desenvolvedor de software e continuei programando como atividade paralela, contribuindo para vários projetos de código aberto e trabalhando em projetos próprios.
O que você faz para se divertir?
Estudo piano. É muito mais difícil do que programar. O caminho para se tornar especialista em piano é realmente árduo. Acho que a maioria dos programadores tende a ser excessivamente confiante em suas habilidades de programação. Sei que sou até ser trazido de volta à realidade ao olhar para códigos antigos e me perguntar como pude ter escrito aquilo! Mas com o piano, há humildade o tempo todo. Você está constantemente ciente do quanto ainda há para aprender e de como é inatingível o nível dos grandes pianistas.
Como o mapa mental ajuda na sua vida ou no seu trabalho?
Uso mapas mentais em duas áreas diferentes:
Brainstorming de tarefas e projetos para mim ou com a família e amigos;
Programação. Como descreverei mais tarde, uso mapas mentais para três principais propósitos no desenvolvimento de software.
Há quanto tempo você usa Xmind?
Provavelmente há seis ou sete anos; talvez mais.
Como surgiu a ideia de usar Xmind na programação, já que não é usual entre os desenvolvedores?
Tudo começou com Kent Beck (o pai do Agile), que uma vez sugeriu que era um bom hábito acompanhar todas as decisões tomadas ao programar. (Tanto as importantes como: “Manterei o valor máximo para esta variável em 70.” “Garantirei que os usuários possam inserir valores fracionários em seus pedidos.” e as menores, como “Preciso expandir os testes de integração para cobrir este novo código.” E assim por diante.) O que descobri foi que simplesmente escrever essas decisões não era suficiente. Mas colocar no rastreador de tarefas/defeitos do projeto era exagero. Então, comecei com um mapa mental que desenvolvi da parte do projeto em que estava trabalhando e eu o decorava com essas microdecisões e notas, de modo que pudesse encontrá-las e revisá-las ao trabalhar em outra parte do projeto. Achei a representação em mapa mental muito útil para encontrar rapidamente notas, de modo que pudesse encontrá-las e revisá-las ao trabalhar em outra parte.
Também uso mapas mentais quando trabalho no design de um recurso. Começo com o novo recurso como o tópico principal e depois crio ramificações para sub-recursos e anexo decisões a essas ramificações, bem como notas de implementação, lembretes e possivelmente até coisas como nomes propostos para objetos e métodos. Isso me permite pensar em detalhes sobre o código muito antes de escrever uma única linha. Muitas vezes, movo uma ramificação contendo vários métodos para outra ramificação, o que me permite mudar as coisas facilmente e me dá mais confiança sobre onde estou indo quando começo a escrever o código.
Este é um caso de um novo recurso - a adição de HTML a uma ferramenta existente:

Finalmente, comecei a usar mapas mentais ao ler códigos desconhecidos. A maioria dos programas tem uma arquitetura hierárquica, que é surpreendentemente amigável para representação em um mapa mental. Esta é uma análise de uma biblioteca chamada iText 7, um caso de uso pouco visto, mas prático.
⚠️ imagem perdida
Assim, enquanto estou lendo o código, posso ver no mapa mental onde estive e como cheguei ao ponto em que estou agora. Posso ver o caminho que leva ao meu lugar atual. Além disso, enquanto estou lendo, estou desenvolvendo uma documentação à qual posso recorrer mais tarde. Estou ainda experimentando este caso de uso.
Qual sua funcionalidade favorita no Xmind? Por quê?
Honestamente, é a facilidade de uso. Posso me mover rapidamente e colocar no mapa mental o que está na minha cabeça. Eu gosto muito disso, porque muitas vezes o tempo é essencial quando você tem algo que deseja capturar.
Como você se mantém produtivo? Algum outro aplicativo de produtividade que você está usando?
Escrevi muito sobre este tópico em vários editoriais. Descobri que eliminar distrações, usar boas ferramentas e ouvir música clássica são todos muito úteis.
Café ou chá?
Café para me ativar pela manhã. Depois, chá durante a maior parte do dia. Quanto a outras opções binárias: Cães ao invés de gatos, espaços ao invés de tabulações, Brahms ao invés de Wagner, Monet ao invés de Manet.
Notas: Foto cortesia de Bob Adler