Un vantaggio principale dell'utilizzo di Blockly è che garantisce che il codice generato sia sintatticamente corretto.
Connection Checker è l'oggetto che applica le regole di Blockly relative alle connessioni compatibili. Per impostazione predefinita, lo strumento di controllo applica un semplice sistema di tipi, come descritto nella pagina Controlli della connessione.
I controlli
Blockly applica tre livelli di controllo: di sicurezza, di tipo e di trascinamento.
Controlli di sicurezza
I controlli di sicurezza assicurano che i blocchi si trovino nella stessa area di lavoro, che le connessioni si trovino su blocchi diversi e così via. Questi assicurano che Blockly non ingiacchi in uno stato errato.
I controlli di sicurezza bloccano anche le combinazioni senza senso, ad esempio la connessione di due connessioni consecutive.
Controlli dei tipi
Gli sviluppatori possono etichettare le connessioni con informazioni sul tipo. I controlli di tipo utilizzano queste informazioni per applicare un sistema di tipi, ad esempio bloccando la connessione di una stringa in cui è previsto un numero.
Controlli di trascinamento
I controlli di trascinamento vengono applicati solo quando i blocchi vengono collegati tramite trascinamento anziché tramite codice. Ad esempio, durante uno spostamento dovrebbero essere prese in considerazione solo le connessioni all'interno di un determinato raggio.
Sostituzione del controllo della connessione
Gli sviluppatori che vogliono fornire la propria logica per i controlli di tipo o di trascinamento possono registrare un oggetto di controllo dei collegamenti sostitutivo che implementa l'interfaccia IConnectionChecker
.
Per implementare i tuoi controlli di sicurezza, sostituisci
doSafetyChecks
nel tuo strumento di controllo della connessione.
Per implementare i tuoi controlli di tipo: sostituisci
doTypeChecks
nel tuo controllore di connessione.
Per implementare i tuoi controlli di trascinamento: sostituisci
doDragChecks
nel tuo controllo della connessione.
Esempio di codice
Il plug-in di controllo della connessione rigorosa è un semplice esempio di controllo personalizzato.