Zum Inhalt springen

Skills

do-not-ship-an-empty-surface

Ein leerer Screen, Tab oder eine leere Kategorie ist ein Versprechen, das das Produkt nicht hält. Blende sie aus, bis sie Inhalt hat, oder baue sie noch nicht.

Anti-MusterHerkunft: cleanStatus: activev0.1.0 · Apache-2.0

Verliehen von der Person, die die Karte gelesen hat — nicht von der Datei über sich selbst behauptet. Eine Karte, die der Agent während eines Laufs mit nicht vertrauenswürdigen Inhalten destilliert, kommt kontaminiert zur Welt und wird bis zur Prüfung zurückgehalten, bevor sie jemals abgerufen wird.

Wann sie in den Sinn kommt

  • einen Tab ohne Daten hinzufügen
  • die Kategorie hat keine Beiträge
  • Platzhalter-Ansicht
  • demnächst verfügbar

In Vermeiden und Prüfen steckt meist der Wert. Tun ist der Abschnitt, den alle schreiben.

Der Kartentext oben ist eine Übersetzung. Das englische Original ist das, was die CLI importiert, was der Agent zur Laufzeit liest und was der Hash unten bezeugt.

Auslöser

Sie sind dabei, ein navigierbares Ziel auszuliefern, das für die meisten Nutzer leer sein wird: einen Tab ohne Zeilen, eine Kategorie ohne Einträge, ein Dashboard, dessen Datenquelle nicht angebunden ist, eine Seite, die „demnächst verfügbar" sagt.

Das gilt nicht für eine Oberfläche, die leer ist, weil der Nutzer noch nichts getan hat. Eine Aufgabenliste ohne Aufgaben ist korrekt und sollte sagen, wie man eine hinzufügt.

Tun

  1. Entscheiden Sie, um welche Art von Leere es sich handelt. Leer-weil-der-Nutzer-neu-ist braucht einen guten Leerzustand mit der nächsten Handlung darin. Leer-weil-wir-es-noch-nicht-gebaut-haben braucht, dass es gar nicht erst da ist.
  2. Für die zweite Art: Rendern Sie das Ziel gar nicht erst. Generieren Sie die Route nur, wenn etwas dahintersteckt.
  3. Wenn es für die Entwicklung existieren muss, koppeln Sie es an ein Entwicklungs-Flag, damit ein installierter Build es nicht erreichen kann.
  4. Wo die Leere tatsächlich die Neuigkeit ist — ein Hub mit einem Eintrag, ein gerade gestarteter Feed —, sagen Sie das in Worten, und machen Sie die Einladung zum Beitragen zum Hauptinhalt der Seite.

Vermeiden

„Demnächst verfügbar", „Noch keine Daten" ohne Erklärung, und ein Navigationseintrag, der zu einer leeren Spalte führt. Jeder davon kostet den Leser einen Klick und liefert nichts, und nach zwei davon vertraut er der Navigation nicht mehr — ein Preis, den jede andere Seite im Produkt mitzahlt.

Vermeiden Sie auch die Version, die in Ordnung aussieht: eine Kategorieseite, die korrekt mit null Elementen rendert. Sie sieht nicht kaputt aus, also meldet sie niemand, und sie sagt still, dass das Projekt dieses Thema aufgegeben hat.

Prüfen

Laden Sie die Oberfläche mit einer leeren Datenquelle und lesen Sie, was ein Erstnutzer sehen würde. Wenn die Antwort eine Überschrift und Leerraum ist, hätte es nicht ausgeliefert werden sollen.

Bei generierten Routen ist die Prüfung mechanisch: Stellen Sie sicher, dass die Routenliste aus dem Inhalt abgeleitet ist, sodass eine Kategorie ohne Einträge überhaupt keine Seite erzeugt.

Risiko

Ein Ziel zu verbergen, bis es Inhalt hat, lässt die Navigation sich verschieben, sobald Daten eintreffen, was verwirrend sein kann — ein Menü, das zwischen Besuchen wächst, braucht einen Grund, den der Nutzer erschließen kann.

Das kann auch zu weit getrieben werden, bis hin dazu, Features zu verstecken, die lediglich unpopulär sind. Die Grenze verläuft danach, ob die Oberfläche jemals etwas zeigen kann: Ungebautes wird versteckt, Ungenutztes wird mit einem guten Leerzustand gezeigt.

Verwenden

Die Karte ist Daten. Klonen Sie das Repository und importieren Sie sie über den Pfad — was über das Netz kommt, gilt als kontaminiert und wird bis zur Freigabe zurückgehalten. Das ist das gewünschte Verhalten und der Grund, warum es hier keinen Einzeiler-Installer gibt.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/do-not-ship-an-empty-surface/SKILL.md

Integrität

SHA-256 der Datei in der veröffentlichten Fassung. Wer sie importiert, kann prüfen, dass das Empfangene dem entspricht, was diese Seite gezeigt hat.

c4dbc6291edf3d41c3820bea6ed19cd283dd90e75d41d61dad97bdab972b7965

Die Karte im Repository lesen