Con 4D 20 R7 potete dire addio ai metodi “Compiler_” e abbracciare una maggiore libertà su come e dove dichiarare le vostre variabili. Risparmiate tempo concentrandovi sul flusso di lavoro di sviluppo e sul processo di codifica grazie alla tipizzazione diretta.
Nelle versioni precedenti di 4D, gli sviluppatori avevano due opzioni per gestire la digitazione delle variabili durante la compilazione. Se l’impostazione “Percorso di compilazione” era diversa da “Tutte le variabili sono tipizzate”, il compilatore tentava di dedurre i tipi delle variabili non tipizzate in base al loro utilizzo nel codice. Se da un lato questo può semplificare le dichiarazioni delle variabili, dall’altro comporta uno svantaggio:
- Unacompilazione più lenta: L’inferenza dei tipi richiede un ulteriore passaggio di compilazione, rallentando il processo di compilazione complessivo.
- Rischio di errori: Il compilatore potrebbe dedurre tipi errati, introducendo potenzialmente bug difficili da debuggare.
Per evitare questi problemi, agli sviluppatori è stato consigliato di applicare una tipizzazione rigorosa utilizzando l’opzione “Tutte le variabili sono tipizzate”. Tuttavia, ciò richiedeva la dichiarazione di tutte le variabili di processo e interprocesso all’interno di metodi “Compiler_” dedicati.
Introduzione della tipizzazione diretta
Per affrontare queste sfide, abbiamo introdotto la tipizzazione diretta , che semplifica il modo in cui le variabili vengono dichiarate e tipizzate durante la compilazione.
Con Direct Typing, non è più necessario utilizzare i metodi “Compiler_” per dichiarare le variabili di processo o interprocesso. Al contrario, è possibile definirle in qualsiasi punto del codice, all’interno di un metodo, di una classe o di qualsiasi altro contesto appropriato. Ciò consente un maggiore controllo sull’organizzazione del codice e migliora l’incapsulamento.
Questa modifica offre la flessibilità necessaria per organizzare il codice nel modo desiderato, pur garantendo la sicurezza dei tipi e una compilazione efficiente.
Adottare la tipizzazione diretta nei progetti
Sia che stiate lavorando a un progetto nuovo o a uno esistente, la tipizzazione diretta può essere facilmente integrata nel vostro flusso di lavoro.
-
I nuovi progetti utilizzano sempre Direct Typing. Ciò significa che potete iniziare subito a godere dei vantaggi di una dichiarazione flessibile delle variabili e di una migliore organizzazione del codice.
-
Per i progetti esistenti, c’è una nuova impostazione nel Percorso di compilazione che consente di attivare o disattivare la tipizzazione diretta. In questo modo si garantisce la compatibilità con il codice legacy e si ha la possibilità di migrare secondo i propri ritmi.
È sufficiente attivare questa impostazione e sarete liberi di dichiarare le variabili di processo e interprocesso ovunque sia più sensato nel vostro codice.
Cosa c’è di nuovo con la tipizzazione diretta?
La sintassi #declare è ora obbligatoria per dichiarare i parametri dei metodi con la tipizzazione diretta, rendendo i comandi tradizionali del compilatore come C_TEXT, C_LONGINT, e altri obsoleti. Uno dei vantaggi principali è che, soprattutto nei componenti, non è più necessario compilare i componenti quando si compila una base host. Il compilatore recupera automaticamente i prototipi dei metodi direttamente dal codice del componente, semplificando e velocizzando il processo di sviluppo.
Per aiutare a convertire i comandi del compilatore come C_TEXT e C_LONGINT nella sintassi di dichiarazione var, abbiamo reso disponibile su GitHub una macro 4D. È possibile accedervi qui: 4D-Macro su GitHub.
come funziona?
- Quando il compilatore incontra una variabile che non è stata esplicitamente tipizzata, la aggiunge a un elenco di variabili “da tipizzare”.
- Il compilatore mette quindi temporaneamente in pausa la compilazione del metodo corrente e procede alla compilazione di altri metodi.
- Prima di mettere in pausa, raccoglie tutte le definizioni delle variabili del metodo.
- Dopo aver compilato tutti i metodi, il compilatore controlla se tutte le variabili dell’elenco “da tipizzare” sono state trovate e se è stato assegnato loro un tipo.
- In caso affermativo, riprende la compilazione dei metodi precedentemente messi in pausa.
- In caso contrario, verranno generati errori per indicare le variabili non tipizzate.
Conclusione
L’introduzione della tipizzazione diretta segna un miglioramento significativo nella gestione delle dichiarazioni di variabili in 4D. Eliminando la necessità dei metodi “Compiler_” e consentendo di dichiarare liberamente le variabili all’interno del codice, gli sviluppatori di 4D hanno ora una maggiore flessibilità e controllo sulla struttura dei loro progetti.
Per saperne di più sulla tipizzazione diretta e su come implementarla nei vostri progetti, consultate la nostra documentazione.