Revisar la sintaxis del proyecto
Es importante revisar la sintaxis del proyecto antes de generar código a partir del modelo. La revisión sintáctica informa sobre errores o problemas que puedan impedir la generación de código. La sintaxis del proyecto se pude revisar con el comando de menú Proyecto | Revisar la sintaxis del proyecto (F11). Además, UModel revisa la sintaxis del proyecto automáticamente antes de cada actualización del código con el modelo. Los resultados de la revisión sintáctica (errores, advertencias y mensajes informativos) aparecen en la ventana Mensajes.
Durante la revisión sintáctica, se inspeccionan varios niveles del archivo de proyecto (ver tabla más abajo). Debe tener en cuenta que:
•en el apartado Requisitos de la generación de código encontrará información sobre errores sintácticos corrientes.
•en el caso de los componentes, la revisión solamente se realiza si se habilitó su propiedad usar para ingeniería de código en la ventana Propiedades.
•en el caso de las clases, interfaces y enumeraciones, la revisión solamente si realiza si la clase, interfaz o enumeración está dentro de un espacio de nombres del lenguaje. Es decir, debe estar dentro de un paquete que esté definido como raíz de espacio de nombres.
•las restricciones de los elementos del modelo no se revisan porque no participan en el proceso de generación de código (véase Restricción de elementos).
Nivel | Se comprueba si... | Gravedad del error si no se cumple la condición |
---|---|---|
Proyecto | ...existe al menos un paquete raíz de espacio de nombres. | Error |
Componente | ...se estableció el archivo de proyecto o directorio. | Error |
...este componente tiene una relación RealizaciónDeComponente con al menos una clase o interfaz. | Error | |
Clase | ...se definió el nombre del archivo de código.
Nota: esta comprobación no es relevante para clases anidadas. | Error si no se marcó la casilla Generar los nombres de archivo de código que falten en la pestaña Herramientas | Opciones | Ingeniería de código. Advertencia si se marcó dicha casilla. |
...se definió el tipo para el parámetro de operación. | Error | |
...se definió el tipo para las propiedades. | Error | |
...se definió el tipo de retorno de la operación. | Error | |
...existen operaciones duplicadas (nombres y tipos de parámetro). | Error | |
...existe una relación RealizaciónDeComponente con un componente.
Nota: esta comprobación no es relevante para clases anidadas. | Advertencia | |
...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error | |
...se produce una herencia múltiple. | Error | |
Operación de clase | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error |
...existe un parámetro de retorno. | Error | |
Parámetro de operación de clase | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error |
...el tipo es válido. | Error | |
Interfaz | ...se definió el nombre del archivo de código. | Error si no se marcó la casilla Generar los nombres de archivo de código que falten en la pestaña Herramientas | Opciones | Ingeniería de código. Advertencia si se marcó dicha casilla. |
...la interfaz está dentro del espacio de nombres de un lenguaje. | Error | |
...se definió el tipo para las propiedades. | Error | |
...se definió el tipo para los parámetros de operación. | Error | |
...se definió el tipo de retorno de las operaciones. | Error | |
...existen operaciones duplicadas (nombres y tipos de parámetro). | Error | |
...las interfaces participan en una relación RealizaciónDeComponente | Advertencia | |
...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error | |
Operación de interfaz | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error |
Parámetro de operación de interfaz | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error |
Propiedades de interfaz | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave) | Error |
Paquete | ...el nombre es válido (no incluye caracteres no válidos y no es una palabra clave)
Nota: esta comprobación es relevante si el paquete está dentro de un paquete raíz de espacio de nombres y tiene aplicado el estereotipo <<namespace>> desde la ventana Propiedades. | Error |
Enumeración | ...existe una relación RealizaciónDeComponente con un componente. | Advertencia |