Salvataggio del codice sorgente del progetto senza token

Tradotto automaticamente da Deepl

I comandi, le costanti, le tabelle e i campi sono memorizzati con i loro token nei file del codice sorgente del progetto (file 4dm). Ciò consente a 4D di rinominarli automaticamente. A volte, però, si desidera che questi file di codice sorgente siano memorizzati senza token per una migliore leggibilità con un sistema di controllo di versione o un editor di codice esterno, o per una migliore condivisione del codice tra i progetti. Vediamo come fare in modo che 4D memorizzi il codice sorgente senza questi token.

Cosa sono i token?

Questo sistema permette a 4D di riconoscere automaticamente un comando, una costante, una tabella o un campo nel linguaggio legacy anche se questi elementi sono stati rinominati.
Il nome di un comando è seguito da “:C” e dall’ID del comando, una costante da “:K” e dall’ID della costante, una tabella da “:” e dall’ID della tabella, un campo da “:” e dall’ID del campo.

Quando si apre il codice sorgente nell’editor dei metodi, 4D rinomina automaticamente gli elementi in base ai loro token. Questi token sono nascosti da 4D nell’editor dei metodi, ma se si utilizza un editor di codice sorgente esterno, sono visibili.
La lettura del codice sorgente può essere più difficile in editor di codice sorgente esterni o in sistemi di controllo di versione a causa di questi token.

Esempio di metodo con token:

Come disattivarli?

Per facilitare la lettura, 4D offre ora la possibilità di memorizzare i file del codice sorgente senza token.
Avete a disposizione una nuova preferenza di 4D per realizzare i vostri nuovi progetti scrivendo i file del codice sorgente senza token.
blank
Per impostazione predefinita, l’opzione è attivata in modo che non vi sia alcun cambiamento: il codice sorgente viene ancora salvato con i token. Ma se si disattiva l’opzione, i file di codice sorgente dei nuovi progetti saranno salvati senza token.

Esempio dello stesso metodo senza token:
blank

E il mio progetto esistente?

Quando si disattiva la preferenza 4D per la tokenizzazione, il file 4DProject dei nuovi progetti contiene un attributo booleano chiamato “tokenizedText” impostato su *false*.
Tecnicamente, è possibile aggiungere questo attributo al file 4DProject di un progetto esistente, ma non eliminerà i token nei file di codice sorgente esistenti, finché non verranno salvati nuovamente con una modifica nell’editor dei metodi 4D o con il comando METHOD SET CODE o utilizzando il comando Si noti che questo attributo è utilizzabile da 4D v19 LTS.

Come funziona?

È possibile che in un progetto tutto il codice sorgente sia salvato in inglese nei file 4DM, anche se si sviluppa in lingua francese.
Quando l’editor di metodi 4D apre un file 4DM, i token vengono presi in considerazione per primi. Poi, i comandi, le costanti, le tabelle e i campi vengono riconosciuti dal loro testo (e tradotti se si sviluppa in lingua francese). Quindi, anche se il codice sorgente è memorizzato senza token, è comunque modificabile come al solito nell’editor di metodi 4D!

Non dimenticate che se disabilitate la tokenizzazione, dovrete eseguire voi stessi la rinominazione di comandi/costituzioni/tabelle/campi nel linguaggio legacy, come avviene per le altre piattaforme di sviluppo.

Progetto quadro

Se si sviluppa un progetto quadro da condividere con altri progetti, si possono incontrare problemi relativi alle tabelle e ai campi con codice legacy. Non ci si può limitare a copiare i file dal framework al progetto se questo contiene tabelle che non hanno gli stessi ID. Ad esempio, la tabella [Setting] del framework potrebbe essere la numero 1, ma la numero 3 nel progetto di destinazione. Se i file di codice sorgente copiati dal framework contengono token, 4D sostituirà la tabella [Setting] con quella che ha l’ID #1 nel progetto di destinazione!

Per facilitare la condivisione del codice sorgente, è possibile disabilitare il salvataggio dei token nel progetto del framework. In questo modo, dopo aver copiato i file del framework nel progetto di destinazione, la tabella [Setting] verrà riconosciuta dal suo nome e non dal suo ID (potenzialmente errato)!

Avatar
- Product Owner -Damien Fuzeau è entrato a far parte del team 4D Product nel febbraio 2019. In qualità di Product Owner, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo lavoro consiste anche nell'assicurarsi che le implementazioni delle funzionalità fornite soddisfino le esigenze dei clienti.Damien si è laureato all'Università di Nantes in ingegneria del software. Ha trascorso più di 23 anni nella sua precedente azienda, prima come sviluppatore (scoprendo 4D nel 1997), poi come responsabile dell'ingegneria e architetto software. Questa azienda è un partner OEM di 4D e ha distribuito software aziendali basati su 4D per migliaia di utenti, su centinaia di server. Damien è quindi abituato allo sviluppo e alla distribuzione di 4D in un contesto multilingue.