quiCkLI entwickeln: Für wen ist dieses Framework?
Jede Designentscheidung in quiCkLI wurde mit einer bestimmten Art von Entwickler im
Sinn getroffen. In diesem Beitrag möchte ich explizit darüber sprechen, wer das ist,
denn es erklärt Entscheidungen, die sonst willkürlich wirken könnten.
Die primäre Zielgruppe
quiCkLI ist für Entwickler, die verstehen wollen, wie eine Kommandozeilenanwendung
zusammengesetzt wird - nicht nur, wie man eine verwendet.
Diese Gruppe umfasst:
- Studierende und Berufsanfänger, die ihre ersten Kommandozeilentools bauen. Sie brauchen ein Framework, bei dem die Mechanik sichtbar ist, nicht hinter einer polierten Abstraktion verborgen.
- Entwickler, die aus anderen Sprachen kommen und den Python-Ansatz zum CLI-Design verstehen wollen, ohne den Quellcode eines großen Frameworks lesen zu müssen.
- Erfahrene Entwickler, die eine kleine, lesbare Referenzimplementierung als Lehrmittel oder Ausgangspunkt für eigene Experimente nutzen möchten.
Für wen quiCkLI nicht geeignet ist
Wenn du ein produktives CLI-Tool baust und Shell-Vervollständigung, verschachtelte
Unterbefehle, Konfigurationsdateien und einen umfangreichen Hilfe-Renderer benötigst,
verwende click oder typer. Sie sind ausgezeichnete Tools, die genau für diesen Zweck
entwickelt wurden.
quiCkLI trifft bewusste Kompromisse, die in einem produktiven Framework inakzeptabel
wären:
- Es liest
sys.argv[1:]standardmäßig, aber lässt sich mitauto_sys_argv=Falsedeaktivieren. - Es druckt keine Ausgabe und wählt keine Exit-Codes.
- Es bietet keine Shell-Vervollständigung.
- Die Plugin-Erkennung ist manuell.
Das sind keine Versehen. Es sind bewusste Entscheidungen, die die Teile sichtbar halten.
Was die Zielgruppe braucht
Ein Lernender braucht:
- Eine kleine Oberfläche. Wenn das Framework zwanzig Klassen hat, erfordert das
Verständnis, alle zwanzig zu kennen.
quicklihat fünf Kernkonzepte. - Explizite Grenzen. Wo endet das Framework und wo beginnt die Anwendung? In
quickliist diese GrenzeApplication.run(). Die Verantwortung für Exit-Codes und Ausgabe bleibt bei der Anwendung. - Ausführbare Beispiele. Theorie reicht nicht. Die Referenzbeispiele im Repository sind echte, ausführbare Tools.
Was das für das Projekt bedeutet
quiCkLI für Lernende nützlich zu halten bedeutet, dem natürlichen Impuls zu
widerstehen, Funktionen hinzuzufügen. Jede Funktion vergrößert die Oberfläche. Jede
Abstraktion verbirgt etwas.
Der Qualitätsmaßstab des Projekts ist nicht nur funktioniert es - sondern ist es noch einfach zu verstehen.

