Playbook für die Verbindungsüberprüfung

In diesem Dokument erfahren Sie, wie Sie Verbindungsüberprüfungen verwenden.

Beispielwerte

Wenn Sie Verbindungsüberprüfungen für Eingaben und Ausgaben definieren, sollten Sie die Prüfungen in der Regel als Typen betrachten.

Die Prüfungen für Eingaben sollten alle zulässigen „Typen“ enthalten und die Prüfungen für Ausgaben sollten genau das enthalten, was „zurückgegeben“ wird.

Einen einzelnen Typ akzeptieren

Im einfachsten Fall, wenn Sie einen Block erstellen möchten, der einen bestimmten Typ „annimmt“ oder „zurückgibt“, müssen Sie diesen Typ in die Verbindungsprüfung der Verbindung aufnehmen.

einen Werteblock, der einen einzelnen Typ akzeptiert

Mehrere Typen akzeptieren

Wenn Sie einen Block erstellen möchten, der mehrere Typen „zulässt“, müssen Sie alle akzeptierten Typen in die Verbindungsprüfung der Eingabe aufnehmen.

einen Wertblock, der mehrere Typen akzeptiert

Wenn eine Ausgabe manchmal in mehreren Situationen akzeptiert werden kann (z.B. wenn Zahlen manchmal als Strings verwendet werden dürfen), sollte die Ausgabe strenger und die Eingaben weniger restriktiv sein. So wird sichergestellt, dass keine Verbindungen zu nicht unterstützten Ausgabegeräten hergestellt werden.

Alle Typen akzeptieren

Wenn Sie einen Block erstellen möchten, der jeden Typ „zulässt“, müssen Sie die Verbindungsüberprüfung der Eingabe auf null festlegen.

einen Werteblock, der jeden Typ akzeptiert

Untertypen der Rückgabe

Wenn Sie einen Block erstellen möchten, der einen Untertyp „zurückgibt“, müssen Sie sowohl den Typ als auch den Supertyp in die Verbindungsprüfung der Ausgabe aufnehmen.

einen Wertblock, der seinen Typ und seinen Supertyp zurückgibt

Bei Untertypen ist es in Ordnung, mehrere Prüfungen in einer Ausgabeprüfung vorzunehmen, da der Block immer beide Typen „zurückgibt“.

Parametrisierte Typen zurückgeben

Wenn Sie einen Block erstellen möchten, der einen parametrisierten Typ „zurückgibt“, müssen Sie sowohl die parametrisierte als auch die nicht parametrisierte Version in die Verbindungsüberprüfung der Ausgabe einbeziehen.

Je nachdem, wie streng die Blockierung sein soll, können Sie auch die Varianten des Typs angeben.

einen Wertblock, der seinen parametrisierten Typ und seinen nicht parametrisierten Typ zurückgibt

Ähnlich wie bei Untertypen ist es in diesem Fall zulässig, mehrere Prüfungen in einer Ausgabeprüfung vorzunehmen, da der Block immer beide Typen „zurückgibt“.

Beispiele für Stacks oder Anweisungen

Es gibt einige gängige Möglichkeiten, wie Entwickler Prüfungen für vorherige und nächste Verbindungen definieren. Normalerweise werden sie verwendet, um die Blockreihenfolge einzuschränken.

Die nächsten Verbindungen sollten angeben, welche Blöcke auf den aktuellen Block folgen sollen, und die vorherigen Verbindungen sollten angeben, was der aktuelle Block ist.

Blöcke in der richtigen Reihenfolge halten

Wenn Sie mehrere Blöcke erstellen möchten, die in einer bestimmten Reihenfolge verbunden werden, müssen Sie angeben, welche Blöcke in der nächsten Verbindungsüberprüfung dem aktuellen Block folgen sollen und was der aktuelle Block in der vorherigen Verbindungsüberprüfung ist.

Anweisungsblöcken mit einer erzwungenen Reihenfolge

Viele Mittelblöcke zulassen

Wenn Sie eine Reihe von sortierten Blöcken erstellen möchten, die viele Mittelblöcke zulassen, müssen Sie in der nächsten Verbindungsüberprüfung des Mittelblocks mindestens einen Eintrag aus der vorherigen Verbindungsüberprüfung des Mittelblocks angeben. So kann der Block von mehreren Elementen desselben Blocks gefolgt werden.

Anweisungsblöcken, die viele Mittelblöcke zulassen

Keine mittleren Blöcke zulassen

Wenn Sie eine Reihe von angeordneten Blöcken erstellen möchten, bei denen die mittleren Blöcke optional sind, müssen Sie in der nächsten Verbindungsüberprüfung des ersten Blocks mindestens einen Eintrag aus der vorherigen Verbindungsüberprüfung des mittleren Blocks und der vorherigen Verbindungsüberprüfung des letzten Blocks angeben. So kann auf den ersten Block entweder ein Mittelblock oder ein Endblock folgen.

Anweisungsböcke, in denen keine Zwischenblöcke zulässig sind

Entweder-oder-Stapel

Wenn Sie einen Block erstellen möchten, der nur von Blöcken aus einer Gruppe oder von Blöcken aus einer anderen Gruppe (und nicht von beiden) gefolgt werden kann, müssen Sie zwei Dinge tun:

  1. Sie müssen mindestens einen Eintrag aus den vorherigen Verbindungsüberprüfungen der beiden Gruppen in der nächsten Verbindungsüberprüfung des ersten Blocks aufnehmen.

  2. Sie müssen die nächsten Verbindungsüberprüfungen der Gruppen so definieren, dass sie nur Werte enthalten, die in den vorherigen Verbindungsüberprüfungen enthalten sind. Sie können also nur von Blöcken derselben Gruppe gefolgt werden.

Anweisungsblöcken, auf die mehrere Blöcke desselben Typs oder mehrere Blöcke eines anderen Typs folgen können, aber nicht beides