Programmieren ist nicht nur das Schreiben von Code; es ist ein ganzheitlicher Prozess, der Tools erfordert, die Ihnen helfen, klar zu denken, Ihre Arbeit zu organisieren und alltägliche Hindernisse zu überwinden. Nach Jahren des Experimentierens mit Dutzenden verschiedener Tools habe ich festgestellt, dass nur drei Tools meine Arbeitsweise wirklich verändert haben. Sie haben nicht nur meinen Entwicklungsprozess beschleunigt, sondern mir auch geholfen, saubereren Code zu schreiben und professioneller zu denken.

Diese Tools sind nicht geheim oder nur professionellen Programmierern vorbehalten, aber sie werden erst dann wirklich mächtig, wenn man weiß, wie man sie richtig einsetzt. In den folgenden Zeilen erfahren Sie mehr über die drei Tools, die meine Arbeitsweise als Programmierer verändert haben, und wie sie dasselbe für Sie tun können.
Vielleicht geht es Ihnen wie mir: Sie haben einen unstillbaren Durst nach neuer Software, um Ihre Neugier zu befriedigen. Es gibt viele nützliche Anwendungen. Einige sind so leistungsstark, dass sie Ihre Denk- und Arbeitsweise verändern. Hier sind drei Tools, die mich als Programmierer radikal verändert haben.
Neovim: Der Traum eines Programmierers
Ob in Bezug auf Funktionen, Skalierbarkeit oder einfache Bearbeitung: Mit Neovim kann ich genau die Umgebung erstellen, die ich möchte, und mich ausschließlich auf den Code konzentrieren, wodurch meine Effizienz und Erfahrung als Softwareentwickler verbessert werden.
Endlose Anpassungen und benutzerdefinierte Einstellungen
Neovim ist ein hochgradig anpassbarer Texteditor mit einigen erweiterten Codebearbeitungsfunktionen, die mit anderen Code-Editoren wie VS Code vergleichbar sind. Obwohl nicht alle Funktionen mit VS Code vergleichbar sind, bietet Neovim unbegrenzte Konfigurierbarkeit.
Neovim verfügt über ein umfassendes Plugin-System, dem ständig neue hinzugefügt werden. Durch die ständige Anpassung meines Systems bin ich in die Welt des Programmierens eingetaucht. Ich schreibe nicht nur Code, um Apps zu erstellen, sondern auch, um sie zu verbessern. Bei Problemen installiere ich ein Plugin oder schreibe den Code selbst.
Einfache Bearbeitung
Der größte Vorteil von Neovim ist die einfache Textbearbeitung. Das gedankenlose Verschieben, Ändern und Löschen von Wörtern gibt mir ein Gefühl der Freiheit. Die herkömmliche Bearbeitung über eine grafische Benutzeroberfläche (GUI) finde ich komplex und umständlich. Mit Neovim kann ich mich ganz auf die Bedeutung des Codes konzentrieren und muss nicht mehr auf den Bearbeitungsprozess selbst. Ich fühle mich dem Code näher. Meine Ideen erscheinen auf der Seite, ohne dass ich über die Bearbeitungsmechanik nachdenken muss. Aber das ist noch nicht alles: Neovim bietet hervorragende Tree-Sitter-Unterstützung, die den Bearbeitungsprozess erheblich verbessert.
Tree-sitter ist eine proprietäre Programmiersprache, die so konfiguriert werden kann, dass sie nahezu jeden erdenklichen strukturierten Text versteht – Programmiersprachen, Markup-Tags und sogar spezielle Programmierformate wie Typst. Tree-sitter ermöglicht seinen Benutzern die sprachspezifische Textbearbeitung. Zum Beispiel:
- Navigation: Wechseln von einer Funktion zu einer anderen oder zu bestimmten Teilen davon.
- Wählen und verschieben Sie ganze if-else-Blöcke ohne Kopieren und Einfügen.
- Tauschen Sie Parameter in einer Funktion aus, ohne sie zu kopieren und einzufügen.
Nur Ihre Fähigkeiten bestimmen, was Sie tun können. Neovim wird mit mehreren Tree-Sitter-Konfigurationen (Dialekte genannt) geliefert, und es sind noch viele weitere verfügbar.
Ticketsystem: Tickets vorbereiten und stornieren
Bei der Verwaltung eines großen Projekts ist es unmöglich, sich an jede Aufgabe zu erinnern, die Sie erledigen müssen. Wenn Sie einen kleinen Codeabschnitt (weniger als 1000 Zeilen) schreiben, wissen Sie, was direkt vor Ihnen liegt: was Sie schreiben und was Sie schreiben müssen – Sie haben ein klares Ziel vor Augen und können die Ziellinie sehen.
Bei größeren Projekten mit mehreren Paketen, Repositories und Zehntausenden von Zeilen ist es unmöglich, den Überblick über die ständig wachsende Liste der zu erledigenden Aufgaben zu behalten. Selbst das Wechseln zwischen Paketen für kleine Anpassungen führt oft dazu, dass man den Fokus verliert. Hier hilft ein Ticketsystem.
Für diejenigen, die mit dem Begriff nicht vertraut sind: Ein Ticketsystem ähnelt einem Aufgabensystem: Jeder Aufgabenpunkt ist ein Ticket, das ein einzelnes Problem beschreibt – zum Beispiel einen Fehler oder eine Funktion. Der Vorteil liegt in der Organisation dieser Tickets. Sie können sie mit Tags versehen oder auf einem Kanban-Board platzieren.
Ein Kanban-Board besteht aus mehreren Spalten, die jeweils den Status eines Tickets darstellen. Ich verwende bevorzugt die folgenden Status: „Backlog“, „Weiter“, „In Bearbeitung“ und „Erledigt“. Das Kanban-Board selbst stellt ein Projekt oder Ziel dar, beispielsweise „Authentifizierung implementieren“. Jedes Ticket ist eine kleine Arbeitseinheit, die zu diesem Ziel beiträgt. Beispiel: „Datenbanktabellen erstellen“. Wenn ein Ticket erstellt wird, erscheint es in der Spalte „Backlog“. Wenn Sie das Ticket bald bearbeiten möchten, erscheint es in der Spalte „Weiter“. Den Rest können Sie sich sicher denken.
Im Laufe der Zeit werden Sie bei der Arbeit an Ihrem Code zwangsläufig auf Probleme stoßen, deren Behebung derzeit zu lange dauert. Erstellen Sie dann eine Anfrage, markieren Sie sie und fügen Sie sie, wenn sie zu einem bestimmten Ziel gehört, dem entsprechenden Kanban-Board hinzu.

Normalerweise habe ich ein oder zwei Projekte (Kanban-Boards) geöffnet, also Projekte, die ich in naher Zukunft durchführen möchte.
Rat
Wenn Sie zu weit im Voraus planen, kann dies die Flexibilität Ihres Unternehmens beeinträchtigen und mehr Zeit mit der Neuorganisation Ihres Plans verschwenden, als Ihnen lieb ist.
Die Verwendung eines Ticketsystems ist unerlässlich, wenn Ihr Projekt länger als ein oder zwei Wochen dauert. Bevor ich es nutzte, starrte ich meinen Tag oft verständnislos auf den Code und versuchte, mir den nächsten logischen Schritt auszudenken. Das ist der falsche Weg, Ihr Programmierprojekt zu organisieren. Die Organisation Ihrer Aufgaben im Voraus erspart Ihnen ständiges Aufschieben. Sie denken voraus und können sich auf den Code konzentrieren.
GitHub bietet ein großartiges System. Projekttickets mit einem Kanban-Board heißen Projekte. Sie können öffentliche oder lagerspezifische Projekte erstellen. Praktisch ist auch die Verwendung eines flexiblen Notizsystems (wie Org-Mode, auf das wir später noch näher eingehen), mit dem Sie Ihre Aufgaben einfach neu anordnen können. Die Zusammenarbeit mit anderen lohnt sich jedoch.
Org-Roam: Erweitertes Notizsystem
Im vorherigen Abschnitt habe ich Org-Mode erwähnt, ein Emacs-Paket, mit dem Sie Überschriften schnell neu anordnen, mit Tags versehen und sogar in Aufgabenlisten umwandeln können. Org-Mode ist ein sehr umfangreiches Paket mit Hunderten von Funktionen – nach sechs Jahren der Nutzung habe ich noch immer nicht alles gelernt, was es bietet.
Org-Roam ist ein weiteres Emacs-Paket, das auf Org-Mode basiert. Org-Mode bietet ein einfaches Dokumentlayout und eine endlose Liste an steuerbaren Funktionen. Org-Roam bietet Verknüpfungsfunktionen, mit denen Sie Notizen in einem Diagramm miteinander verknüpfen können. Dieses System funktioniert ähnlich wie Hyperlinks im Web.

Als Programmierer lernt man ständig dazu. Ob Sie ein neues Framework, eine neue Bibliothek oder eine neue Sprache erlernen – all dies sind extrem umfangreiche Themen, deren Beherrschung Jahre dauert. Diese Technologien haben viele einzigartige Aspekte und Eigenschaften, sodass Ihr Lernprozess nie abgeschlossen sein wird. Um sich alles Gelernte zu merken, benötigen Sie eine effektive Methode, um einzelne Ideen an leicht merkbaren Stellen zu kategorisieren. Die Verwendung eines herkömmlichen Notizsystems ist hierfür ungeeignet. Stattdessen müssen Sie jede Idee klar abgrenzen, ähnlich wie bei einer Webseite. Sie benötigen außerdem eine Möglichkeit, Ihre Notizen schnell zu durchsuchen. Org-Roam bietet beides.
Der Arbeitsablauf ist von Person zu Person unterschiedlich, aber ich erstelle für jede Idee eine Notiz und platziere Links in mehreren anderen Notizen, die als Indizes dienen. Unten sehen Sie ein einfaches Beispiel.

Die Details in den Zusammenfassungen sind in einem Beispiel aus der Praxis nützlicher. Beschreibende Zusammenfassungen helfen Ihnen, Ihr Verständnis der erlernten Ideen aufrechtzuerhalten, insbesondere wenn Sie Ihre Notizen regelmäßig überprüfen.
Dieser Ansatz ermöglicht mir einen prägnanten, geordneten und objektiven Überblick über alles, was ich gelernt habe. Wenn ich diese Notizen später noch einmal durchgehe, lerne ich oft schon in nur 10 Minuten viel vom Thema. Im Gegensatz zu herkömmlichen Notizsystemen ist die Wiederholung einer Sprache, die ich lange nicht verwendet habe, für mich nie eine große Herausforderung, da die Informationen so leicht zugänglich sind.
Darüber hinaus ermöglicht das graphenbasierte Notizsystem eine bidirektionale Verlinkung. Sie markieren bestimmte Schlüsselwörter in Ihren Notizen und verknüpfen sie mit anderen Notizen. Diese Links, sogenannte Backlinks, machen einen Textblock in einer anderen Notiz sichtbar. Backlinking ist äußerst effektiv, da es oft lange verborgene Informationen ans Licht bringt.

Der Puffer auf der rechten Seite stellt Ausschnitte von Notizen dar, die mit der aktuellen Notiz verknüpft sind (die Emacs adressiert; der Puffer auf der linken Seite).
Org-Roam ist nicht das einzige Notizsystem mit leistungsstarker Backlink-Funktion. Es lässt sich jedoch hervorragend in das Org-Mode-Paket integrieren. Diese beiden Pakete ermöglichen die Integration meiner To-Do-Listen in meine persönliche Wissensdatenbank.

Wie Sie im obigen Screenshot sehen können, sind Ihre Aufgaben im Org-Mode einfach Titel, denen das Wort „TODO“ vorangestellt ist. Org Agenda (Teil des Org-Mode-Pakets) erfasst diese Titel und zeigt sie in einem speziellen Puffer an. Und da wir auch Org-Roam verwenden, können wir sie mit jeder anderen Notiz in Org-Roam verknüpfen.
Andere ähnliche Systeme, die einfacher zu verwenden sind, sind Obsidian und Logseq, die beide für diejenigen geeignet sind, die ein effizientes System wünschen. Org-Roam und Emacs eignen sich für diejenigen, die einen individuell gestalteten Workflow wünschen, d. h. für Programmierer.
Ich habe einen ganzen Artikel darüber geschrieben, warum ich Neovim bevorzuge. Vielleicht finden Sie ihn hilfreich. Wir haben auch Artikel über die Verwendung von Obsidian zum Notieren und Obsidian zum Journaling. Beide sind gute Einführungen in Obsidian.
Wenn Sie Interesse an Org-Roam haben, besuchen Sie bitte Org-Roam-Seite Home, um mehr darüber zu erfahren. Vielleicht möchten Sie auch erkunden Org-ModusWenn Sie neu bei Emacs sind, ist die Einrichtung nicht einfach, aber Doom Emacs Es vereinfacht den Vorgang erheblich und ist meine bevorzugte Emacs-Distribution.




