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.