Basic Drills to Improve your Coding Skills
Welcher Entwickler kennt es nicht?! Man fühlt sich wie ein Pianist, der auf seiner Tastatur den „Türkischen Marsch“ von W. A. Mozart spielt und dann passiert es - schiefer Ton #Tippfehler. Jeder Tippfehler unterbricht den Denkfluss und verhindert effizientes Arbeiten. Doch Übung macht den Meister. Durch das regelmäßige Üben von Standardsituationen gehen diese in Fleisch und Blut über („Habit Loop“). So wirft ein Basketballer nach dem Spiel noch 100 Freiwürfe, ein Leichtathlet beginnt jedes Sprint-Training mit Übungen aus dem Lauf-ABC und ein Entwickler übt mit Hilfe von „Basic Drills“ das schnelle, fehlerfreie Tippen und die Verwendung von Hotkeys.
In diesem Blogartikel teile ich mit euch, wie ich durch regelmäßige kleine „Basic Drills“ und den Einsatz von Hotkeys meinen Arbeitsfluss verbessert und dadurch meine Produktivität gesteigert habe. Grundsätzlich sollte man zur Steigerung seiner Produktivität an Tätigkeiten ansetzen, die einen großen Teil der täglichen Arbeit einnehmen. Denn selbst kleine Verbesserungen können hier eine unverkennbare Produktivitätssteigerung erzielen.
Ein großer Bestandteil meiner Arbeit als Softwarearchitekt und -entwickler ist das Schreiben von Anwendungscode. Diesen Anwendungscode schreibe ich für gewöhnlich in einer Entwicklungsumgebung (IDE), welche mich unter anderem durch Highlighting, Autovervollständigung und bei Refactorings unterstützt. Hieraus ergeben sich für mich zwei Ansatzpunkte mit Verbesserungspotential und Möglichkeiten zur Steigerung meiner Produktivität: das Schreiben von Anwendungscode und der Umgang mit der Entwicklungsumgebung.
Voraussetzung für das effiziente Schreiben von Anwendungscode ist möglichst schnelles und fehlerfreies Tippen. Um das zu üben gibt es speziell für Entwickler entworfene Tools, die bequeme Übungsumgebungen bereitstellen. Zur Verbesserung meiner Tipp-Fertigkeiten habe ich die Übungsumgebung „SpeedCoder“ verwendet.
Im Gegensatz zu “normalen“ Übungstools, die meist gängige Textbausteine zum Abtippen hinterlegt haben, konzentriert sich ein Tool wie SpeedCoder auf Zeichen und Schlüsselwörter, die in der Programmierung häufig vorkommen. Getreu dem Methodik Grundsatz „vom Einfachen zum Komplexen“ habe ich mit einfachen Tipp-Übungen begonnen und diese mit der Zeit komplexer werden lassen. Nach ein paar „Trainings“ habe ich außerdem angefangen zwischen meiner Laptop-Tastatur und meiner externen Tastatur zu wechseln, da beide Tastaturen in meinem Arbeitsalltag zum Einsatz kommen. Des Weiteren rotiere ich zwischen den verschiedenen Programmiersprachen und nutze Ausschnitte aus Open Source Code, um häufig genutzte Programmabläufe und Kontrollstrukturen einzuüben. Als nächsten Schritt und Ausblick möchte ich kleine Code Katas in mein Training integrieren, die ich ohne Verwendung der Maus umsetzen kann.
Nachfolgend möchte ich, in Bezug auf den Umgang mit Entwicklungsumgebungen, auf den Einsatz von Hotkeys eingehen. In Entwicklungsumgebungen, wie beispielsweise IntelliJ, ist es möglich Befehle durch Hotkeys zu erreichen, wodurch die Suche nach dem benötigten Befehl in der Menüleiste entfällt. Durch den Einsatz von Hotkeys werden demnach die Entwicklungsgeschwindigkeit und der Arbeitsfluss begünstigt. Des Weiteren wird durch den verringerten Einsatz der Maus die Schulter entlastet und somit dem Risiko für Wirbelsäulenproblemen entgegengewirkt [Ta16]. Die Verwendung von Hotkeys lässt sich gut im regulären Arbeitsalltag einüben, indem man jedes Mal, wenn man sich dabei erwischt, wie man in der Menüleiste nach einem Befehl sucht, direkt den dazugehörigen Hotkey anschaut (oder einen vergibt, falls noch keiner hinterlegt ist). Mit der Zeit wird man feststellen, dass ein Großteil der täglich genutzten Befehle mittels Hotkeys erreicht und dadurch viele Arbeitsschritte in kürzerer Zeit erledigt werden können.
Nachfolgend möchte ich nützliche IntelliJ Hotkeys vorstellen, die ich in meiner täglichen Arbeit verwende.
Nützliche IntelliJ Hotkeys
Da ich häufig zwischen Projekten hin und her wechsle ist OPTION + Shift + r zum Öffnen der kürzlich geöffneten Projekte ein absolutes muss.
Analog zu Google Chrome nutze ich CMD + W um einzelne Tabs und CMD + Shift + W um ein gesamtes Projekt zu schließen.
Um durch geöffnete Editor-Tabs zu springen, verwende ich Option + Tab. Wer gleichzeitig gezielte Tabs entfernen, oder auf zusätzliche Ansichten springen möchte, kann das Switcher Modal durch Control + Tab öffnen. Mittels der DELETE-Taste kann der aktuell selektierte Tab geschlossen werden.
Die einzelnen Ansichten können auch durch CMD + Nummer effizient erreicht werden. Bei mir kommen CMD + 1 für den Projektbaum oder CMD + 7 für die Struktur innerhalb einer Datei zum Einsatz.
Als überaus hilfreich erweist sich auch die ESC Taste. Sie sorgt dafür, dass egal wo man ist, der Fokus auf den Editor wechselt und man weiterprogrammieren kann.
Wer sich im Projektbaum befindet und eine neue Datei anlegen möchte kann dies einfach über Control + Enter erledigen. Befindet man sich im Editor öffnet die gleiche Tastenkombination das „Generate“-Kontextmenü, worüber man sich z.B. in einer Java-Datei Getter & Setter Methoden generieren lassen kann.
Einer meiner absoluten Favoriten ist „Double Shift“ zum Suchen und Öffnen einer Datei.
Ebenfalls häufig genutzt ist Shift+F6 zum Umbenennen einer Datei, einer Variablen oder einer Methode. Wer zusätzlich bei einer Variablen oder einer Methode wissen möchte, wo diese verwendet wird, kann dies über CMD + B herausfinden.
Ist in einer Datei ein Syntaxfehler, so kann man mit F2 direkt zum Fehler springen.
In gewissen Fällen möchte man sich eine Datei in einer Split-Ansicht direkt nebeneinander anschauen. Hierfür habe ich mir den Hotkey CMD + Shift + S für (Split Right) hinterlegt.
Wer in IntelliJ die Integration zur Versionsverwaltung nutzt wird CMD + Shift + P (Pullen), CMD + K (Commit) und CMD + Shift + K (Push) täglich mehrfach verwenden. Außerdem als enorm hilfreich ist in diesem Kontext Control + Option + Shift + Up/Down, wodurch man durch alle Code-Änderungen zum letzten Commit navigieren kann.
In diesem Sinn…
Mit sportlichem Gruß
PB
[Ta16] Sabrina Taylor, A Programmer’s Guide to Better Posture,13.01.2016, https://simpleprogrammer.com/programmers-guide-to-better-posture/, zuletzt abgerufen am 01.07.2021