Im Fluss bleiben
(… oder warum ich von der Single-File-Programmierung besessen bin und Sie das auch tun sollten)
Die große Lüge, die uns in der Schule und auch am Anfang unserer Karriere erzählt wird, ist, dass „gut“ im Programmieren zu sein bedeutet, immer schwierigere Probleme auf elegantere Weise zu lösen. Die Wahrheit ist viel banaler: Wenn man gut programmieren kann, geht es darum, eine große Menge meist trivialer Probleme effizient, schnell und sauber zu lösen. Was jedoch stimmt, ist, wie wertvoll der „Flow-Zustand“ dabei ist. Durch die Möglichkeit, in die Arbeit vertieft zu bleiben, können Sie schnell zwischen Domänen wechseln und den Zustandsfluss vom Benutzer über die Geschäftslogik bis zum Datenspeicher und wieder zurück verfolgen.
Viele „gute“ Programmierpraktiken erhöhen die Komplexität:
- Separate Modelle, Ansichten und Controller.
- Bewahren Sie alle Ihre Tests in parallelen Dateien und Ordnern auf.
- Integrieren Sie CSS nicht, sondern belassen Sie es in einer Hierarchie separater CSS-Dateien, auf die nach Klasse und ID verwiesen wird.
- Schreiben Sie nicht einmal CSS, sondern verwenden Sie einen Präprozessor und generieren Sie es aus einer Zwischensprache.
- Verwenden Sie verschachtelte Namespaces von Paketen und Modulen, jedes mit seinen eigenen StandardkonVentionen für die Benennung von Thin_GS.
In ähnlicher Weise werden Umfrageskalen gegen die Unterscheidungsfähigkeit eines durchschnittlichen Menschen aufgetragen (normalerweise 5–7 Auswahlmöglichkeiten, nie mehr als 9), Frameworks, die auf weniger Dateien und weniger Typen basieren und in einer möglichst flachen Hierarchie organisiert sind Für neue Entwickler ist es einfacher, sich damit vertraut zu machen, und es ist für JEDEN einfacher, bei der Arbeit daran im Fluss zu bleiben.
„Gute“ Programmierer verunglimpfen PHP und Javascript gerne als „schlechte“ Sprachen; Dennoch zeichnen sich beide dadurch aus, dass sie einfache „Single-File“-Muster unterstützen. Javascript erledigt dies über JSX; PHP erlaubt einfach, dass jedes PHP-Skript auch beliebiges HTML enthalten kann. Ich habe beschlossen, die Freude an der Single-File-Entwicklung wiederherzustellen, allerdings für Python. Dies wird hoffentlich die offensichtlichen Lücken zwischen den „Notebook“-Python-Data-Science-Communitys, den „Boot Camp“-Softwareentwickler-Communitys und den Frontlinien der Webanwendungsentwicklung schließen.
In den nächsten Blogbeiträgen werde ich auf viele der „schlechten“ Praktiken eingehen, die ich übernommen habe, um meine Entwicklungserfahrung zu vereinfachen und zu optimieren. Noch besser: Ich werde die verschiedenen Open-Source-Bibliotheken bekannt geben, die ich im Laufe der Zeit entdeckt, erweitert oder entwickelt habe.