Los comandos, constantes, tablas y campos se almacenan con sus tokens en los archivos de código fuente del proyecto (archivos 4dm). Esto permite a 4D renombrarlos automáticamente. Pero a veces, le gustaría que estos archivos de código fuente se almacenaran sin tokens para una mejor legibilidad con un sistema de control de versiones o un editor de código externo, o para compartir mejor el código entre proyectos. Veamos cómo hacer que 4D almacene el código fuente sin estos tokens.
¿Qué son los tokens?
Este sistema permite a 4D reconocer automáticamente un comando, una constante, una tabla o un campo en el lenguaje heredado, incluso si estos elementos han sido renombrados.
Un nombre de comando va seguido de «:C» y el ID del comando, una constante por «:K» y el ID de la constante, una tabla por»:» y el ID de la tabla, un campo por «:» y el ID del campo.
Al abrir el código fuente en el editor de métodos, 4D renombra automáticamente los elementos según sus tokens. Estos tokens están ocultos por 4D en el editor de métodos, pero si utiliza un editor de código fuente externo, son visibles.
La lectura del código fuente puede ser más difícil en un editor de código fuente externo o en sistemas de control de versiones debido a estos tokens.
Ejemplo de un método con tokens:
¿Cómo desactivarlos?
Para facilitar la lectura, 4D le ofrece ahora la posibilidad de almacenar los archivos de código fuente sin tokens.
Tiene una nueva preferencia de 4D a su disposición para hacer que sus nuevos proyectos escriban los archivos de código fuente sin tokens.
Por defecto, la opción está activada para que no haya ningún cambio: su código fuente se sigue guardando con tokens. Pero si desactiva la opción, los archivos de código fuente de sus nuevos proyectos se guardarán sin tokens.
Muestra del mismo método sin tokens:
¿Qué pasa con mi proyecto existente?
Cuando desactiva la preferencia de tokenización de 4D, el archivo 4DProject de los nuevos proyectos contiene un atributo booleano llamado «tokenizedText» establecido en *false*.
Técnicamente, puede añadir este atributo al archivo 4DProject de un proyecto existente, pero no borrará los tokens en los archivos de código fuente existentes hasta que se vuelvan a guardar mediante una modificación en el editor de métodos de 4D o utilizando el comando METHOD SET CODE comando. Tenga en cuenta que este atributo es utilizable desde 4D v19 LTS.
¿Cómo funciona?
Usted puede saber que en un proyecto, todo su código fuente se guarda en inglés en los archivos 4DM, incluso si usted desarrolla utilizando el idioma francés.
Cuando el editor de métodos 4D abre un archivo 4DM, los tokens se tienen en cuenta en primer lugar. Y luego, los comandos, constantes, tablas y campos son reconocidos por su texto (y traducidos si desarrolla con el idioma francés). Por lo tanto, aunque su código fuente esté almacenado sin token, ¡sigue siendo editable como siempre en el editor de métodos 4D!
No olvide que si desactiva la tokenización, tendrá que realizar usted mismo el renombramiento de comandos/constantes/tablas/campos en el lenguaje de legado, como es el uso con otras plataformas de desarrollo.
Proyecto de marco de trabajo
Si desarrollas un proyecto framework para compartirlo con otros proyectos, puedes encontrarte con problemas relacionados con las tablas y campos con código heredado. No puedes limitarte a copiar los archivos del framework al proyecto si éste contiene tablas que no tienen los mismos IDs. Por ejemplo, la tabla [Setting] de tu framework puede ser la #1, pero la #3 en un proyecto de destino. Si los archivos de código fuente copiados del framework contienen tokens, 4D reemplazará la tabla [Setting] por la que tiene el ID #1 en el proyecto de destino.
Para facilitar la compartición del código fuente, puede desactivar el guardado de tokens en el proyecto del framework. Entonces, después de copiar los archivos del framework en el proyecto de destino, reconocerá la tabla [Setting] por su nombre y no por su ID (potencialmente erróneo).