Extensiones. Buenas prácticas para desarrollar con C/AL

Extensiones. Buenas prácticas para desarrollar con C/AL

 

Puesto que las extensiones ya son cosa del presente y su uso cada vez va aumentando, vamos a tratar de dejaros unos consejos para mantener unos buenos hábitos a la hora de desarrollar con C/AL.

Estas prácticas son adicionales a las reglas y pautas que se detectan durante la compilación del código AL. Es decir, las podéis seguir o no a la hora de desarrollar vuestras extensiones, pero si las seguís vuestra extensión quedara mucho más estructurada, garantizareis la coherencia y la capacidad de encontrar un archivo, así como la legibilidad del código escrito.

Estructura de una extensión

Las extensiones están contenidas en una carpeta. Esta carpeta contiene todos los archivos y carpetas. La extensión no necesita seguir una estructura plana, es decir, dependiendo de la cantidad de archivos de la aplicación, se pueden usar carpetas adicionales.

Una buena estructura sería crear varias carpetas dentro de la extensión:

  • \src : para los archivos de código.
  • \res : para los recursos (imágenes, javascript…).
  • \test : para los archivos de pruebas.

Dentro de estas carpetas podremos crear tantas carpetas como queramos, y podremos agrupar objetos según su funcionalidad por ejemplo, lo que nos puede ayudar a mantener un proyecto .Al de una forma más fácil.

Nombramiento de archivos

Microsoft nos recomienda unas pautas a la hora de nombrar los archivos.
Cada archivo debe comenzar con el tipo y el ID correspondiente, seguidos de un punto para los objetos completos o un guion para las extensiones. El nombre del objeto debe de estar escrito con caracteres [A-Za-z0-9].

Notación de nombre de archivo

Un ejemplo de sintaxis para nombrar archivos seria la siguiente:

  • Objetos completos:
    • <Type><Id>.<ObjectName>.al
  • Extensiones
    • <Type><BaseId>-Ext<ObjectId>.<ObjectName>.al

Tipos de objeto

Usa las siguientes abreviaciones para cada tipo de objeto en el nombre del archivo:

  • Página: Pag
  • Extensión de página: PageExt
  • Codeunit: Cod
  • Tabla: Tab
  • Extensión de tabla: TabExt
  • XML Port : Xml
  • Report : Rep
  • Query : Que

Ejemplo de nombres de archivos

  • Codeunit 419 “File Management” àFileManagement.al
  • Página 21 “Customer card” àCustomerCard.al
  • Página 50200 “MiPagExt” extends “Customer Card” à Pag21-Ext50200.MiPagExt.al

 

En el próximo articulo veremos cómo estructurar los un archivo de código .al, como declarar las variables o como definir un método.

Sobre el autor

eSoler-Programador NAV / Web author

Comments Are Closed.