Playbook de vérification de la connexion

Ce document explique comment utiliser les vérifications de connexion.

Exemples de valeurs

Lorsque vous définissez des vérifications de connexion pour les entrées et les sorties, vous devez généralement considérer les vérifications comme représentant des types.

Les vérifications des entrées doivent inclure tous les "types " qu'elles acceptent, et les vérifications des sorties doivent inclure exactement ce qu'elles "renversent".

Accepter un seul type

Dans le cas le plus simple, lorsque vous souhaitez créer un bloc qui "accepte" ou "renvoie" un type, vous devez inclure ce type dans la vérification de la connexion.

un bloc de valeurs qui n'accepte qu'un seul type

Accepter plusieurs types

Pour créer un bloc qui "accepte" plusieurs types, vous devez inclure tous les types acceptés dans la vérification de la connexion de l'entrée.

un bloc de valeurs qui accepte plusieurs types

Par convention, si une sortie peut parfois être acceptée dans plusieurs situations (par exemple, si vous autorisez parfois les nombres à être utilisés comme chaînes), la sortie doit être plus restrictive et les entrées doivent être plus permissives. Cette convention garantit que les sorties ne se connectent pas là où elles ne sont pas compatibles.

Accepter tous les types

Pour créer un bloc qui "accepte" n'importe quel type, vous devez définir la vérification de la connexion de l'entrée sur null.

un bloc de valeurs qui accepte n'importe quel type

Sous-types de retour

Pour créer un bloc qui "renvoie" un sous-type, vous devez inclure à la fois le type et le supertype dans la vérification de la connexion de la sortie.

un bloc de valeur qui renvoie son type et son supertype

Dans le cas des sous-types, il est acceptable d'avoir plusieurs vérifications dans une vérification de sortie, car le bloc toujours "renvoie" les deux types.

Renvoyer des types paramétrés

Pour créer un bloc qui "renvoie" un type paramétré, vous devez inclure à la fois la version paramétrée et la version non paramétrée dans la vérification de la connexion de la sortie.

Selon le niveau de sévérité souhaité pour votre langage de blocage, vous pouvez également inclure la ou les variances du type.

un bloc de valeur qui renvoie son type paramétré et son type non paramétré

Comme pour les sous-types, il est acceptable d'avoir plusieurs vérifications dans une vérification de sortie dans ce cas, car le bloc renvoie toujours les deux types.

Exemples de pile ou d'instructions

Il existe plusieurs méthodes courantes pour que les développeurs définissent des vérifications des connexions précédentes et suivantes. En général, vous pouvez considérer ces éléments comme limitant l'ordre des blocs.

Les connexions suivantes doivent inclure les blocs qui doivent suivre le bloc actuel, et les connexions précédentes doivent inclure ce que le bloc actuel "est".

Maintenir l'ordre des blocs

Pour créer un ensemble de blocs qui se connectent dans un ordre défini, vous devez inclure les blocs qui doivent suivre le bloc actuel lors de la prochaine vérification de la connexion et ce que le bloc actuel "est" lors de la vérification de la connexion précédente.

blocs d'instructions dont l'ordre est forcé

Autoriser de nombreux blocs intermédiaires

Pour créer un ensemble de blocs ordonnés qui autorisent de nombreux blocs intermédiaires, vous devez inclure au moins une entrée de la vérification de connexion précédente du bloc intermédiaire dans la vérification de connexion suivante du bloc intermédiaire. Cela permet au bloc d'être suivi par d'autres blocs identiques.

blocs d'instructions qui autorisent de nombreux blocs intermédiaires

N'autoriser aucun bloc intermédiaire

Pour créer un ensemble de blocs ordonnés où les blocs du milieu sont facultatifs, vous devez inclure au moins une entrée de la vérification de connexion précédente du bloc du milieu et de la vérification de connexion précédente du dernier bloc dans la vérification de connexion suivante du premier bloc. Cela permet au premier bloc d'être suivi d'un bloc intermédiaire ou d'un dernier bloc.

blocs d'instructions qui n'autorisent aucun bloc intermédiaire

Piles "ou"

Pour créer un bloc qui ne peut être suivi que par des blocs d'un groupe ou d'un autre (et non les deux), vous devez effectuer deux opérations:

  1. Vous devez inclure au moins une entrée des deux vérifications de connexion précédentes des groupes dans la prochaine vérification de connexion du premier bloc.

  2. Vous devez définir les prochaines vérifications de connexion des groupes pour n'inclure que les valeurs qui figurent dans leurs vérifications de connexion précédentes (elles ne peuvent donc être suivies que par des blocs du même groupe).

des blocs d'instructions pouvant être suivis de plusieurs blocs d'un type ou d'un autre, mais pas des deux à la fois