Příkazy, konstanty, tabulky a pole jsou spolu se svými tokeny uloženy v souborech zdrojového kódu projektu (soubory 4dm). Díky tomu je může 4D automaticky přejmenovat. Někdy byste však chtěli, aby tyto soubory zdrojového kódu byly uloženy bez tokenů kvůli lepší čitelnosti v systému pro správu verzí nebo v externím editoru kódu nebo kvůli lepšímu sdílení kódu mezi projekty. Podívejme se, jak zajistit, aby 4D ukládal zdrojový kód bez těchto tokenů.
Co jsou to tokeny?
Tento systém umožňuje 4D automaticky rozpoznat příkaz, konstantu, tabulku nebo pole ve starším jazyce, i když byly tyto prvky přejmenovány.
Za názvem příkazu následuje „:C“ a ID příkazu, za konstantou „:K“ a ID konstanty, za tabulkou“:“ a ID tabulky, za polem „:“ a ID pole.
Při otevření zdrojového kódu v editoru metod 4D automaticky přejmenuje prvky podle jejich tokenů. Tyto tokeny 4D v editoru metod skrývá, ale pokud použijete externí editor zdrojového kódu, jsou viditelné.
Čtení zdrojového kódu může být v externím editoru zdrojového kódu nebo v systémech pro správu verzí kvůli těmto tokenům obtížnější.
Ukázka metody s tokeny:
Jak je zakázat?
Pro usnadnění čtení vám nyní 4D nabízí možnost ukládat soubory zdrojového kódu bez tokenů.
Máte k dispozici novou předvolbu 4D, která vám umožní, aby vaše nové projekty zapisovaly soubory zdrojového kódu bez tokenů.
Ve výchozím nastavení je tato volba povolena, takže nedojde k žádné změně: váš zdrojový kód je stále uložen s tokeny. Pokud však tuto volbu zakážete, budou se soubory zdrojového kódu vašich nových projektů ukládat bez tokenů.
Ukázka stejné metody bez tokenů:
Co s mým stávajícím projektem?
Pokud předvolbu tokenizace 4D zakážete, bude soubor 4DProject nových projektů obsahovat logický atribut s názvem „tokenizedText“ nastavený na hodnotu *false*.
Technicky vzato můžete tento atribut přidat do souboru 4DProject existujícího projektu, ale neodstraní to tokeny v existujících souborech zdrojového kódu, dokud je znovu neuložíte úpravou v editoru metody 4D nebo pomocí příkazu METHOD SET CODE příkazu. Všimněte si, že tento atribut je použitelný od verze 4D v19 LTS.
Jak to funguje?
Možná víte, že v projektu jsou všechny zdrojové kódy v souborech 4DM uloženy v angličtině, i když vyvíjíte ve francouzštině.
Když editor metod 4D otevře soubor 4DM, berou se v úvahu nejprve tokeny. A poté jsou příkazy, konstanty, tabulky a pole rozpoznány podle svého textu (a přeloženy, pokud vyvíjíte s francouzským jazykem). Takže i když je váš zdrojový kód uložen bez tokenu, je v editoru metod 4D stále upravitelný jako obvykle!
Jen nezapomeňte, že pokud tokenizaci zakážete, budete muset sami provést přejmenování příkazů/konstant/tabulí/polí ve starším jazyce, jak je to zvykem u jiných vývojových platforem.
Projekt frameworku
Pokud vyvíjíte rámcový projekt, který má být sdílen s jinými projekty, můžete narazit na problémy týkající se tabulek a polí se starším kódem. Nemůžete se omezit na kopírování souborů z frameworku do projektu, pokud obsahuje tabulky, které nemají stejná ID. Například tabulka [Setting] vašeho frameworku může mít číslo 1, ale v cílovém projektu číslo 3. Pokud zkopírované soubory zdrojového kódu z frameworku obsahují tokeny, 4D nahradí tabulku [Nastavení] tou, která má v cílovém projektu ID #1!
Abyste usnadnili sdílení zdrojového kódu, můžete ukládání tokenů ve svém projektu frameworku zakázat. Pak po zkopírování souborů frameworku v cílovém projektu rozpozná tabulku [Nastavení] podle jejího názvu, a ne podle jejího (potenciálně chybného) ID!