Salvar o código fonte do projecto sem fichas

Tradução automática de Deepl

Comandos, constantes, tabelas e campos são armazenados com os seus símbolos nos ficheiros de código fonte do projecto (ficheiros 4dm). Isto permite que 4D lhes dê um novo nome automaticamente. Mas, por vezes, gostaria que estes ficheiros de código fonte fossem armazenados sem fichas para uma melhor legibilidade com um sistema de controlo de versão ou um editor de código externo, ou para uma melhor partilha de código entre projectos. Vamos ver como fazer o código fonte 4D armazenar sem estes códigos-fonte.

O que são os tokens?

Este sistema permite que 4D reconheça automaticamente um comando, uma constante, uma tabela ou um campo na língua legada, mesmo que estes elementos tenham sido renomeados.
Um nome de comando é seguido por “:C” e o ID do comando, uma constante por “:K” e o ID da constante, uma tabela por”:” e o ID da tabela, um campo por “:” e o ID do campo.

Ao abrir o código fonte no editor do método, 4D renomeia automaticamente os elementos de acordo com as suas fichas. Estes tokens são escondidos por 4D no editor de métodos, mas se utilizar um editor de códigos-fonte externo, eles são visíveis.
A leitura do código-fonte pode ser mais difícil no editor de código-fonte externo ou nos sistemas de controlo de versões, devido a estes tokens.

Amostra de um método com fichas:

Como desactivá-los?

Para facilitar a leitura, 4D oferece-lhe agora a possibilidade de armazenar os ficheiros de código-fonte sem fichas.
Tem uma nova preferência 4D à sua disposição para tornar os seus novos projectos a escrever ficheiros de código fonte sem fichas.
blank
Por defeito, a opção está activada para que não haja alteração: o seu código fonte continua a ser guardado com os tokens. Mas se desactivar a opção, os ficheiros de código fonte dos seus novos projectos serão guardados sem fichas.

Amostra do mesmo método sem fichas:
blank

E o meu projecto existente?

Quando desactivar a preferência de tokenization 4D, o ficheiro 4DProject dos novos projectos contém um atributo booleano chamado “tokenizedText” definido para *false*.
Tecnicamente, pode adicionar este atributo ao ficheiro 4DProject de um projecto existente, mas não apagará os tokens nos ficheiros de código fonte existentes até estes serem novamente guardados através de uma modificação no editor do método 4D ou utilizando o METHOD SET CODE comando. Note-se que este atributo é utilizável desde 4D v19 LTS.

Como é que funciona?

Pode saber que, num projecto, todo o seu código fonte é guardado em inglês nos ficheiros 4DM, mesmo que se desenvolva utilizando a língua francesa.
Quando o editor do método 4D abre um ficheiro 4DM, os tokens são tidos em conta em primeiro lugar. E depois, os comandos, constantes, tabelas e campos são reconhecidos pelo seu texto (e traduzidos se se desenvolver com a língua francesa). Assim, mesmo que o seu código fonte seja armazenado sem fichas, continua a ser editável como habitualmente no editor do método 4D!

Apenas não se esqueça que se desactivar o tokenization, terá de executar você mesmo o comando/constant/tabela/ renomeação de campo em linguagem legada, uma vez que é o uso com outras plataformas de desenvolvimento.

Projecto de estrutura

Se desenvolver um projecto-quadro para ser partilhado com outro projecto, poderá deparar-se com problemas relativos às tabelas e campos com código legado. Não se pode limitar a copiar os ficheiros da estrutura para o projecto se este contiver tabelas que não tenham as mesmas identificações. Por exemplo, a tabela [Setting] da sua estrutura pode ser #1, mas #3 num projecto alvo. Se os ficheiros de código fonte copiados da estrutura contiverem fichas, 4D substituirá a tabela [Setting] por aquela que tiver a ID #1 no projecto alvo!

A fim de facilitar a partilha do código fonte, pode desactivar a memorização dos tokens no seu projecto de estrutura. Depois de copiar os ficheiros da estrutura no projecto alvo, este reconhecerá a tabela [Setting] pelo seu nome e não pela sua (potencialmente errada) ID!

Avatar
• Proprietário do produto - Damien Fuzeau entrou ao time 4D Product em fevereiro de 2019. Como Proprietário do Produto, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Damien é formado em engenharia de software pela Universidade de Nantes. Trabalhou mais de 23 anos em sua empresa anterior, primeiro como desenvolvedor (descobrindo 4D em 1997), e mais tarde como gerente de engenharia e arquiteto de software. Essa empresa é um Partner OEM de 4D e lançou softwares empresariais baseados em 4D para milhares de usuários em centenas de servidores. Portanto Damien está acostumado ao desenvolvimento e lançamento de 4D em contextos multilinguais.