Hallo Felix,
mal ein Gedanke zum "VisualStudio Code", weil Du in einem Posting VisualStudio erwähntest, deshalb möchte ich mal was dazu sagen.
Dieser Editor ist ja in VisualStudio integriert. Ich selbst hab die OpenCource-Version VSCodium installiert. VisualStudio wird wohl (ich weiß es nicht, aber ich gehe jetzt davon aus) genau diesen Editor integriert haben.
Nun zum Punkt:
VSCodium hat eine Funktionalität "Peek". Also z.B. rechte Maustaste -> Peek -> Peek Definition. Dann klappt an Ort und Stelle, also ohne dass VSCodium die Scrollpos verändert, die Funktions-Definition in einem Inline-Frame auf. Die Definition kann man dann aber nicht nur sichten, sondern auch bearbeiten. Und: Man kann den Frame sogar größer/kleiner ziehen, also breiter/enger und höher/tiefer. Das ist schon perfekt!
Frage: Relativiert sich denn jetzt nicht meine Taktik des "Folding + Lokalität"? Nein, meine Taktik relativiert sich nicht – sie wird sogar bestätigt! Eben durch die Existenz dieser Funktionalität Peek.
Peek ist ein Navigationswerkzeug. "Folding + Lokalität" ist eine Strukturierungs-Strategie.
Peek löst ein anderes Problem:
Peek zeig mir schnell, was da steht, ohne dass ich wegscrollen muss.
"Folding + Lokalität" strukturiert den Code so, dass ich gar nicht erst suchen muss.
Peek ist wie eine Taschenlampe. "Folding + Lokalität" ist wie ein gut sortierter Werkzeugkasten. Beides ergänzt sich, aber nur eines davon ist ein echtes Strukturierungs-Konzept.
Peek zeigt die Definition – aber sie bleibt räumlich woanders.
Peek ist super, aber:
-
Die Funktion liegt trotzdem in einer anderen Datei
-
oder weiter oben im Code
-
oder weit weg vom Kontext, in dem ich sie brauche
Peek überbrückt Distanz, aber es beseitigt sie nicht.
Eine lokale Inline‑Funktion dagegen:
-
ist direkt im Kontext
-
ist foldbar
-
ist sichtbar, wenn ich sie brauche
-
ist unsichtbar, wenn ich sie nicht brauche
Peek ist ein Krückstock (im positiven Sinne...). Lokalität ist ein gutes Skelett.
Peek ist reaktiv – Lokalität ist proaktiv.
Peek hilft sehr, wenn ich suchen muss. Lokalität sorgt dafür, dass ich gar nicht erst suchen muss. Und das ist ein fundamentaler Unterschied:
-
Peek = "Ich muss nachschauen."
-
Lokalität = "Ich weiß es schon, weil es direkt hier ist."
Peek ist ein Editor‑Feature – Lokalität ist ein Architekturkonzept, das durch Folding-Stil noch doppelt sinnvoll wird.
Peek löst nicht das Problem der mentalen Nähe. Wenn ich im Folding-Stil arbeite, dann bin ich darauf trainiert:
-
Alles, was zusammengehört, ist zusammen
-
Ich sehe die Struktur auf einen Blick
-
Ich muss nicht springen und nicht peeken
Peek zeigt mir zwar die Definition, aber:
-
Ich sehe nicht die gesamte Struktur
-
Ich überblicke nicht die anderen lokalen Hilfsfunktionen
-
Ich sehe nicht die semantische Nähe
Peek ist ein Fenster. Lokalität ist ein Raum.
Fazit:
Peek ist ein Komfort‑Feature. Lokalität in Kombination mit Folding ist ein brauchbares Architektur‑Konzept, das auszuprobieren sich lohnen könnte.
Peek hilft mir, wenn ich nicht lokal arbeiten kann. Lokalität sorgt dafür, dass ich Peek seltener brauche.
Die Tatsache der Existenz und der Implementation der Funktionaltät "Peek" innerhalb des Editors entlarvt (als "Heilmittel") das Problem als solches. Ein Problem, das meine angesprochene Taktik "Lokalität + Folding" gar nicht erst in solchem Umfang entstehen lässt.
Gruß, fischlak
Eitelkeit und Intelligenz sind Gegensätze. Nur Mist, dass ich so eitel bin...