Ein gutes Problem formulieren

Alle großartigen Projekte basieren auf Feedback von Nutzenden. Blockly verwendet GitHub-Probleme, um Feedback nachzuverfolgen. Auf dieser Seite wird beschrieben, wie du ein Problem schreibst, das für Entwickler leicht zu lesen und zu beantworten ist. Dadurch steigt die Wahrscheinlichkeit, dass dein Fehlerbericht oder deine Funktionsanfrage bearbeitet wird.

Vorarbeit

Fragen?

Wir freuen uns immer über Fragen. GitHub-Probleme sind jedoch kein sehr gutes Medium. Bei Fragen besuchen Sie stattdessen unser Entwicklerforum. Wenn Sie Ihre Frage dort stellen, erhalten Sie mit größerer Wahrscheinlichkeit eine zeitnahe und ausführliche Antwort, da die Anzahl von Entwicklern gefüllt ist, die Blockly seit Jahren verwenden!

Nach Duplikaten suchen

Bevor Sie einen Problemtyp schreiben, sollten Sie immer prüfen, ob bereits ein übereinstimmendes Problem vorhanden ist. Falls ja, müssen Sie sie nicht selbst aufschreiben. Bevor Sie anfangen, zu schreiben, suchen Sie also nach Duplikaten oder ähnlichen Problemen.

Wenn Sie eine Übereinstimmung finden, bewerten Sie sie positiv oder fügen Sie einen Kommentar hinzu, in dem Sie Ihre Gedanken ausführlich beschreiben. Das ist besonders bei Fehlerberichten und Funktionsanfragen wichtig. Wenn Entwickler sehen, dass ein Problem viel Aufmerksamkeit erhält, ist es wahrscheinlicher, dass es bearbeitet wird.

Programmfehler melden

Glaubst du, du hast einen Fehler entdeckt? Sehr gut! Wir hören gerne Fehlerberichte, weil dieses Projekt so stabil wie möglich sein soll. Mit den folgenden Schritten kann der Fehler behoben werden.

  1. Auf Duplikate prüfen
  2. Belege sammeln
  3. Problem lokalisieren
  4. Solide Reproduktionen
  5. Ursache vorschlagen
  6. Beschreiben Sie Ihr Problem.

Nachweise sammeln

Generell gilt: Je mehr Informationen zu Ihrem Fehler vorliegen, desto besser. Hier sind ein paar Dinge, die Sie vielleicht angeben möchten:

  • Screenshots oder GIFs können sehr hilfreich sein, wenn ein Fehler ein visuelles Problem verursacht.
  • Beispielcode ist nützlich, wenn ein Fehler nur bestimmte Arten von Blöcken oder Konfigurationen von Arbeitsbereichen betrifft.
  • Eine gehostete Website eignet sich hervorragend, wenn Sie Probleme haben, den Fehler außerhalb Ihrer spezifischen Umgebung zu reproduzieren.

Problem lokalisieren

Zwischen der Kernbibliothek, den Plug-ins, den Beispielen und den Codelabs gibt es jede Menge Blockly-Code. Helfen Sie uns, indem Sie uns genau sagen, wo das Problem liegt.

Wenn das Problem im Kern liegt: Welche Komponente? Zum Beispiel könnte ein Problem mit der Toolbox, den Zoomsteuerelementen oder den Bibliotheksblöcken vorliegen. Seien Sie so konkret wie möglich.

Wenn das Problem in Blockly-Samples liegt, finden Sie heraus, in welchem Plug-in, Codelab oder Beispiel es sich befindet. Wenn Sie denselben Fehler an mehreren Stellen finden, teilen Sie uns das auch mit.

Verfestigen Sie Ihre Reproduktion

Ein Fehler kann nur dann behoben werden, wenn er reproduzierbar ist. Bevor du also ein Problem meldest, solltest du prüfen, ob du einen soliden Weg zum Auftreten des Fehlers hast.

Am Ende sollten Sie eine nummerierte Liste mit Schritten erhalten, die einem Entwickler erklären, wie er den Fehler reproduzieren kann. Beispiel:

  1. Öffnen Sie X-Codelab.
  2. Seite Y aufrufen.
  3. Beispielcode für Z ausführen
  4. Beobachten Sie das schlechte Verhalten, das wie W aussieht.

Wenn Ihr Problem im Blockly Core liegt, versuchen Sie, es im playground zu reproduzieren.

Einen Grund vorschlagen

Wenn Sie glauben, zu wissen, warum der Fehler auftritt, geben Sie diese Informationen auch an. Machen Sie auch hier möglichst genaue Angaben.

Geben Sie Ihr Problem an.

Es wird Zeit, deinen Fehlerbericht zu schreiben. Wählen Sie Ihr Repository aus:

Füllen Sie alle Abschnitte der Problemvorlage aus – auch die, die hier nicht aufgeführt sind.

Vielen Dank für Ihr Interesse an der Meldung eines Fehlers. Viel Spaß beim Schreiben!

Nächste Schritte

  • Ihr Fehlerbericht wird zur Sichtung automatisch getaggt.
  • Das Bereitschaftsmitglied des Blockly-Teams wird es sich ansehen und möglicherweise klärende Fragen stellen. Außerdem fügt sie Labels hinzu, mit denen wir unsere Fehler organisieren.
  • Das Problem ist möglicherweise mit „Help Wanted“ (Hilfe gewünscht) gekennzeichnet. In diesem Fall können Sie Anspruch darauf erheben und mit der Bearbeitung beginnen.
  • Das Problem kann einem Mitglied des Blockly-Teams zugewiesen werden, um es zu beheben.
  • Das Problem kann mit einem vierteljährlichen Meilenstein gekennzeichnet werden, um anzugeben, wann es behoben ist.
  • Das Problem kann in den Icebox-Meilenstein verlagert werden, was bedeutet, dass wir in absehbarer Zukunft nicht daran arbeiten werden.
    • Dies kann bei seltenen Problemen oder Fehlern mit bekannten Behelfslösungen auftreten.
    • Sie können auch an Iceboxed-Problemen arbeiten.
  • Das Problem kann in den Bug Bash Backlog-Meilenstein aufgenommen werden, d. h., es ist nicht dringend, aber wir möchten es trotzdem beheben.
    • Am Ende jedes Quartals verbringt das Team einige Wochen damit, an Fehlern zu arbeiten, die aus dem Bug Bash Backlog-Meilenstein abgerufen wurden.
  • Das Problem kann bei Bedarf vom Blockly-Kern in blockbasierte Stichproben (oder in die entgegengesetzte Richtung) verschoben werden.
  • Das Problem wurde möglicherweise geschlossen.

Feature Request (Funktionsanfrage)

Gibt es etwas, das du ändern möchtest, um Blockly zu verbessern? Haben Sie eine Idee für ein Plug-in, Beispiel oder Codelab? Vielleicht gibt es eine, die Ihnen gefällt, und Sie haben eine Möglichkeit, sie zu verbessern. Dann sind Sie hier genau richtig. Im Folgenden findest du Schritte zur Erstellung einer geeigneten Funktionsanfrage, die eine Antwort erhält.

  1. Auf Duplikate prüfen
  2. Anforderungen prüfen
  3. Feedback sammeln
  4. Stellen Sie Ihre Anfrage für eine neue Funktion.

Anforderungen prüfen

Wir würden gerne zulassen, dass jede einzelne Idee in dieses Repository aufgenommen wird! Leider sind wir aber nur Menschen, daher haben wir einige Richtlinien dazu, welche Arten von Anträgen wir bearbeiten werden.

Für die verschiedenen Projektkategorien gelten folgende Richtlinien:

  • Blockly Core
  • Plug-ins
  • Beispiele: Zeigen Sie, wie nur eine oder zwei Blockly-Funktionen verwendet werden.
  • Codelabs: Zeigen, wie eine einzelne Aufgabe erledigt oder ein einzelnes Verhalten implementiert wird

Das sind aber keine komplizierten Regeln. Sie sollen Ihnen lediglich eine Vorstellung davon vermitteln, wonach wir suchen, bevor Sie sich die Zeit für die Erstellung Ihrer Funktionsanfrage nehmen.

Wenn Sie nicht sicher sind, ob etwas passt, posten Sie es in unseren Entwicklerforen. Und denken Sie daran: Auch wenn Ihre Idee nicht angenommen wird, würden wir uns freuen, wenn Sie sie als Plug-in oder Anleitung eines Drittanbieters entwickeln!

Deine Meinung ist gefragt

Ihre Idee muss nicht zu 100% mit Lametta und Diagrammen ausgearbeitet werden, bevor Sie sie einreichen, aber Sie sollten eine solide Vorstellung davon haben, wonach Sie suchen. Diese Fragen sollten Sie überdenken, bevor Sie mit dem Schreiben beginnen:

  • Warum möchte ich diese Funktion nutzen?
  • Löst diese Funktion ein Problem?
  • An wen richtet sich diese Funktion?
  • Warum ist diese Funktion nützlich?
  • Welche alternativen Optionen gibt es, mit denen das Gleiche erreicht werden könnte?

Sobald Sie diese Informationen geklärt haben, können Sie die Funktion optimal nutzen.

Geben Sie Ihre Anfrage für eine neue Funktion ein.

Jetzt können Sie Ihre Funktionsanfrage formulieren. Wählen Sie Ihr Repository aus:

Füllen Sie alle Abschnitte der Problemvorlage aus – auch die, die hier nicht aufgeführt sind.

Vielen Dank für Ihr Interesse an einer Funktionsanfrage. Viel Spaß beim Schreiben!

Nächste Schritte

  • Deine Funktionsanfrage wird zur Sichtung automatisch getaggt.
  • Das Bereitschaftsmitglied des Blockly-Teams wird es sich ansehen und möglicherweise klärende Fragen stellen. Außerdem fügt sie Labels hinzu, mit denen wir unsere Fehler organisieren.
  • Die Funktion ist möglicherweise mit „Help Wanted“ (Hilfe gewünscht) gekennzeichnet. In diesem Fall können Sie sie beanspruchen und mit der Bearbeitung beginnen.
  • Die Funktion kann einem Mitglied des Blockly-Teams zur Implementierung zugewiesen werden.
  • Die Funktionsanfrage kann bei Bedarf vom Blockly-Kern in blockbasierte Stichproben (oder in die entgegengesetzte Richtung) verschoben werden.
  • Die Funktionsanfrage wird möglicherweise geschlossen. In diesem Fall haben Sie immer noch die Möglichkeit, sie als Drittanbieter-Plug-in zu implementieren.