Nadie tiene la clave para ser perfecto programando, cada uno tiene su forma y aplica lo que sabe a lo que quiere desarrollar, es por esto por lo que siempre hay muchas soluciones para un simple problema en cuanto a programación se refiere. Todo esto no quita que no haya que seguir unas pautas/normas a la hora de desarrollar código, y mucho más teniendo en cuenta que Microsoft está detrás de este lenguaje y son muy estrictos a la hora de valorar si un programa está bien o no. Si tu empresa quiere dar el paso en este mundillo, tendrá que saber las buenas prácticas que Microsoft presenta en su documentación, ya que si no las cumples, perderás puntos con ellos e incluso no permitirán que publiques una aplicación en su MarketPlace. Hay que aclara, que una app puede no haber seguido buenas prácticas y compilar perfectamente, todo esto es por tema de rendimiento y limpieza del código. Es por ello que paso a explicarlas a continuación, ya que habrá que tenerlas muy en cuenta a la hora del desarrollo.

Estructura de la extensión: Una extensión (o app) tiene que estar contenida única y exclusivamente en una carpeta. Dicha carpeta suele tener su app.json, el cual indica las propiedades de la extensión, como por ejemplo el nombre, el publicador o las dependencias entre otras, además del launch.json y quizá una imagen con el logo. Además, debe estar compuesta de las carpetas “src”, donde encontraremos todos los objetos que hemos desarrollado, además de una carpeta “res” (recursos) y “test”. Podremos declarar diferentes carpetas dentro de SRC, dependiendo de cada objeto, para agrupar los archivos en base a su funcionalidad, lo cual, de cara al futuro para solucionar algo del código, es mucho más fácil de encontrar.

El nombre de los ficheros que creemos debe contener el tipo de objeto, como buena práctica debe llevar el nombre del propio objeto, además de su ID. Todo esto seguido de “.al”. Para llevar esto al día sin preocupación, recomiendo instalar la extensión de Visual Code llamada “waldo’s CRS AL Language Extension”, la cual nos ayudará tanto a renombrar los archivos adecuadamente como Microsoft nos recomienda como a reorganizarlos dentro de las carpetas adecuadas con el comando mediante la consola de Visual Code de “CRS: Reorganize - All Files”. 

Seguir la siguiente sintaxis a la hora de nombrar los archivos y las extensiones:

Como vemos hay varias formas, ya sea para objetos nuevos como para extensiones del estándar o de otro objeto previamente creado por nosotros mismos. Cuando leemos Suffix, Prefix o Affix, entendemos que es el nombre característico de quien lo está desarrollando. En este caso, como quien desarrolla el código lo hace en nombre de Mercado Actual, pondríamos MA, por ejemplo.

Ejemplos de nombres de objetos: table 70000 MASalesperson; page 70002 MASalesperson; (PageExt) myaction(MAVacation). En este último ejemplo, para distinguir los botones nuevos de una extensión de página.

A continuación, muestro una lista donde para cada tipo de objeto, observamos su abreviatura para nombrar el archivo, que deberá llevar el nombre de cada fichero:

Formato del código: Debe estar apropiadamente formateado, para ello, existe una extensión de Visual Code llamada Al Formatter que nos ayudará a ello. Una vez instalada simplemente tendremos que hacer click con el botón derecho del ratón y seleccionar “Format Document” (Shift+Alt+F). Si sólo queremos formatear un trozo de código, habrá que seleccionarlo y como antes, seleccionar la opción mencionada o usar el atajo de teclado que defino para ello.

Además, todas las declaraciones de objetos del estándar deben escribirse en letra minúscula (page, codeunit, table, tableextension…). No hay que seguir esta regla cuando hablamos de métodos ya creados que siguen el formato Pascal. Además, siempre haremos referencia a él por su nombre, no por su ID.

• Usar 4 espacios por indexación (tabulación). Con la tecla TAB se ponen directamente.

• Las llaves siempre van solas en una línea. Formateando el código se hace automáticamente.

En cuanto a la longitud de las líneas, Microsoft nos dice que no hay restricciones en cuanto a ello, pero recomiendan que no sobrepasen demasiado el campo de visión de Visual, porque en caso de no ser así, la lectura y comprensión del código pueden verse afectados.

• Estructura del archivo: Todo objeto que creemos y desarrollemos en AL, debe seguir una lógica y unas pautas de posicionamiento, esto, facilitará la lectura y comprensión. Se debe seguir el siguiente orden:

• Propiedades del objeto.

• Construcciones específicas del objeto: Campos de tabla, Layout de página, Botones o Triggers.

• Variables globales.

• Métodos.

• Nombramiento de variables y campos.

• Siempre deber seguir el formato PascalCase.

• En su nombre, debe preceder “Temp”, en caso de que la variable sea temporal.

• Incluir el nombre del objeto en el nombre.

• No deben contener caracteres especiales como por ejemplo “%”, “€” …

• Los caracteres que se deben utilizar son aZ-zZ y 0-9.

• Usar inglés de forma general.

• Declaración de funciones.

• Incluir un espacio después de un punto y coma al declarar varios argumentos.

• Nombrarlas mediante el formato PascalCase.

• Debe haber una línea en blanco entre función y función. Al Formatter lo hace automáticamente.

• A la hora de llamar a la función, si esta tiene varios parámetros, separarlos con un espacio después de cada coma.

• Declaración de variables: A la hora de declarar una variable, debemos poner el nombre de esta, seguida de dos puntos, un espacio y a continuación el tipo de variable/parámetro. Ejemplo: xlMyNumber: Integer;

• Limpieza de código: Es preferible borrar las variables que no se utilicen, ya que están ocupando espacio para nada y de cara al futuro puede ralentizar el sistema. Además de, siempre que sea posible, crear variables globales en vez de locales.

Crear cuenta

¿Ya tienes una cuenta?
Accede o Reestablece tu contraseña