stringtranslate.com

Etiqueta (programación)

En programación , una etiqueta es un argumento de una subrutina que determina otros argumentos que se le pasan, que se utiliza como una forma de pasar un número indefinido de parámetros etiquetados a la subrutina; En particular, las etiquetas se utilizan para varias llamadas al sistema en AmigaOS v2.0 y posteriores.

En AmigaOS

En versiones anteriores de AmigaOS , si una llamada al sistema requería establecer una gran cantidad de parámetros, en lugar de pasarlos como argumentos de función, la función requeriría un puntero a una estructura que contenga los argumentos (por ejemplo, intuition.library se OpenWindow()requiere struct NewWindowcon 17 parámetros diferentes). Las etiquetas se introdujeron en AmigaOS 2.0 porque "hacen posible agregar nuevos parámetros a las funciones del sistema sin interferir con los parámetros originales. También hacen que la especificación de listas de parámetros sea mucho más clara y sencilla". [1]

Varias bibliotecas de software de terceros para AmigaOS también utilizan etiquetas de forma extensiva.

Ejemplo

El código sin etiquetas es oscuro (por ejemplo, 0, 1define colores de ventana), mientras que el código con etiquetas se autodocumenta. Es necesario definir menos parámetros con etiquetas que los que hay en la estructura, ya que OpenWindowTags recurrirá a los parámetros predeterminados.

Implementación

AmigaOS proporciona funciones para el manejo de etiquetas en su formato utility.library.

En general

Una ventaja de las etiquetas es que facilitan el trabajo con argumentos predeterminados ya que el programador no tiene que especificarlos ni sus sustitutos. De esto se sigue otra ventaja, la facilidad para lograr compatibilidad tanto hacia adelante como hacia atrás con bibliotecas externas : un programa escrito para una versión anterior de la biblioteca funcionará con una más nueva, ya que la biblioteca más nueva simplemente establecerá todos los parámetros no proporcionados por la programa a sus valores predeterminados; y un programa escrito para una versión más nueva de la biblioteca seguirá funcionando con la versión anterior, ya que la biblioteca anterior simplemente no prestará atención a las etiquetas recién introducidas.

Una desventaja de las etiquetas es que su procesamiento es más lento que simplemente leer datos de una estructura o pila . Además, se pierde la verificación de tipos en tiempo de compilación .

Ver también

Referencias

  1. ^ Manual de referencia de Amiga ROM Kernal: Bibliotecas (3ª ed.). pag. 867.ISBN​ 0-201-56774-1.

enlaces externos