25.05.2020
Besseres Mind Mapping hilft besserem Coding
Als Softwareentwickler und Herausgeber von renommierten Programmierzeitschriften hat Andrew häufig die Vorteile des Notierens während des Codierens erörtert, um klaren, zuverlässigen Code zu liefern. Er findet, dass das Aufzeichnen von Beobachtungen und zu erledigenden Aufgaben in einem strukturierten Dokument, während er programmiert, ihm hilft, den Überblick darüber zu behalten, wo er sich in einem Projekt befindet und wohin er gehen muss.
Nach dem Ausprobieren verschiedener Möglichkeiten, diese Notizen auf intelligente Weise festzuhalten, fand er, dass Mindmaps eine elegante Lösung waren. Er konnte den Teil des Projekts, an dem er arbeitete, in einer Mindmap darstellen und mit Notizen und Aufgaben dekorieren, die dann leicht zu finden waren.
Dieser Ansatz schafft mentalen Freiraum für ihn, um sich auf den Code zu konzentrieren, an dem er arbeitet, während er keine der Kontextinformationen verliert, die er benötigt. Er verwendet auch Mindmaps zur Analyse von Code, wie im folgenden Interview erläutert wird.
Bitte erzählen Sie uns ein wenig über sich.
In den letzten fünf Jahren war ich der Herausgeber des Java Magazine (von Oracle). Zuvor war ich Chefredakteur von Dr. Dobb's Journal. Und in früheren Leben war ich Herausgeber mehrerer Programmierpublikationen. Ich begann meine Karriere als Softwareentwickler und habe das Programmieren als Nebentätigkeit fortgesetzt, indem ich zu verschiedenen Open-Source-Projekten beigetragen und an eigenen Projekten gearbeitet habe.
Was machen Sie zum Spaß?
Ich studiere Klavier. Es ist weitaus schwieriger als Programmieren. Der Weg zum Experten am Klavier ist tatsächlich mühsam. Ich denke, die meisten Programmierer neigen dazu, in ihren Programmierfähigkeiten zu übermütig zu sein. Ich weiß, dass ich es bin, bis ich durch das Betrachten alter Codes auf den Boden der Tatsachen zurückgeführt werde und mich frage, wie ich das jemals schreiben konnte! Aber beim Klavier gibt es ständig Demut. Man ist sich ständig bewusst, wie viel mehr es zu lernen gibt und wie unerreichbar das Niveau der großen Pianisten ist.
Wie hilft Ihnen die Mindmap bei Ihrem Leben oder Ihrer Arbeit?
Ich verwende Mindmaps in zwei verschiedenen Bereichen:
Brainstorming von Aufgaben und Projekten für mich selbst oder mit Familie und Freunden;
Programmierung. Wie ich später beschreibe, verwende ich Mindmaps für drei Hauptzwecke in der Softwareentwicklung.
Wie lange benutzen Sie XMind schon?
Es sind wahrscheinlich sechs oder sieben Jahre; vielleicht länger.
Wie kamen Sie dazu, XMind beim Programmieren zu verwenden, da es für Entwickler ungewöhnlich ist?
Es begann ursprünglich mit Kent Beck (dem Vater von Agile), der einmal vorschlug, dass es eine gute Gewohnheit sei, alle Entscheidungen nachzuverfolgen, die man beim Programmieren trifft. (Sowohl wichtige wie: “Ich werde den Maximalwert für diese Variable auf 70 setzen.” “Ich werde sicherstellen, dass Benutzer Bruchwerte in ihren Bestellungen eingeben können.” und kleinere wie “Ich muss die Integrationstests erweitern, um diesen neuen Code abzudecken.” Und so weiter.) Was ich herausfand, war, dass das einfache Aufschreiben dieser Entscheidungen nicht ausreichte. Aber sie in das Projekt-Task-/Defekt-Tracker aufzunehmen, war zu viel. Also begann ich mit einer Mindmap, die den Teil des Projekts, an dem ich arbeitete, darstellte, und ich dekorierte es mit diesen Mikroentscheidungen und Notizen, sodass ich sie finden und überprüfen konnte, wenn ich an einem anderen Teil des Projekts arbeitete. Ich fand die Mindmap-Darstellung sehr nützlich, um schnell Notizen zu finden, sodass ich sie finden und überprüfen konnte, wenn ich an einem anderen Teil arbeitete.
Ich verwende auch Mindmaps, wenn ich an der Gestaltung eines Features arbeite. Ich beginne mit dem neuen Feature als Top-Thema und dann erstelle ich Abzweigungen für Teilmerkmale und füge diesen Abzweigungen Entscheidungen, Implementierungsnotizen, Erinnerungen und möglicherweise sogar Dinge wie vorgeschlagene Namen für Objekte und Methoden hinzu. Dies ermöglicht es mir, detailliert über den Code nachzudenken, lange bevor ich eine einzige Zeile geschrieben habe. Oft bewege ich einen Zweig mit mehreren Methoden zu einem anderen Zweig, was es mir ermöglicht, Dinge leicht zu ändern und mir mehr Vertrauen gibt, wohin ich gehe, wenn ich den Code zu schreiben beginne.
Dies ist ein Fall eines neuen Features - eine Ergänzung von HTML zu einem bestehenden Tool:

Schließlich habe ich begonnen, Mindmaps zu verwenden, wenn ich unerfahrenen Code lese. Die meisten Programme haben eine hierarchische Architektur, die sich überraschenderweise in einer Mindmap darstellen lässt. Dies ist eine Analyse aus einer Bibliothek namens iText 7, ein wenig gesehenes Anwendungsbeispiel, aber praktisch.
⚠️ Fehlt Bild
So kann ich, während ich versuche, den Code zu lesen, auf der Mindmap sehen, wo ich war und wie ich zu meinem aktuellen Ort gekommen bin. Ich kann sehen, dass der Pfad, der zu meinem aktuellen Ort führt. Darüber hinaus entwickle ich während des Lesens Dokumentationen, auf die ich später zurückgreifen kann. Ich experimentiere immer noch mit diesem Anwendungsfall.
Was ist Ihr Lieblingsmerkmal/Funktionen in XMind? Warum?
Ehrlich gesagt, ist es die Benutzerfreundlichkeit. Ich kann mich schnell bewegen und das in die Mindmap einfügen, was in meinem Kopf ist. Das gefällt mir sehr, weil oft die Zeit drängt, wenn man etwas festhalten möchte.
Wie bleiben Sie produktiv? Verwenden Sie andere Produktivitäts-Apps?
Ich habe viel zu diesem Thema in verschiedenen Editorials geschrieben. Ich finde, Ablenkungen zu beseitigen, gute Werkzeuge zu verwenden und klassische Musik zu hören, sind alle hilfreich.
Kaffee oder Tee?
Kaffee, um mich morgens in Gang zu bringen. Dann Tee den größten Teil des Tages. Was andere binäre Optionen betrifft: Hunde statt Katzen, Leerzeichen statt Tabs, Brahms statt Wagner, Monet statt Manet.
Hinweise: Foto mit freundlicher Genehmigung von Bob Adler