Sentencia "switch" versus tabla de búsqueda en MapForce

Una de las cosas más interesantes de trabajar con desarrolladores de software es que no solo se tiene la oportunidad de crear cosas nuevas que nunca antes habían existido, sino que también se puede observar cómo piensan otras personas cuando encuentran soluciones alternativas a cualquier desafío de diseño. Recibimos un comentario de un desarrollador de software sobre nuestra publicación reciente titulada "La estructura condicional "if-else" expandible funciona como una declaración "switch" en MapForce", en relación con uno de los ejemplos que utilizamos. El lector sugiere que nuestro segundo ejemplo ilustraba un problema que se resolvería de manera más elegante en Altova MapForce utilizando una "Value-Map" en lugar de nuestra estructura condicional "if-else" expandible. Aquí está el ejemplo original que recibía el mes como una cadena de caracteres y necesitaba generar el número correspondiente:

En MapForce, un "Mapa de Valores" es una solución alternativa que funciona como una tabla de consulta, mientras que una estructura "Si-Entonces Expandida" actúa como una instrucción de selección (switch). A continuación, se muestra cómo se vería nuestra transformación utilizando un "Mapa de Valores" en lugar de la estructura "Si-Entonces Expandida":

Sí, eso es todo. En lugar de copiar, pegar y modificar conjuntos de elementos, como hicimos para crear nuestra versión original de "Si-Entonces" expandido, una "Tabla de Valores" nos permite crear fácilmente toda la tabla de consulta en su cuadro de diálogo de propiedades

Entendemos el punto que plantea el comentarista: Value-Map definitivamente funciona mejor para el problema que hemos elegido, ya que es mucho más rápido y sencillo de crear. La tabla de las propiedades de Value-Map es también más concisa y fácil de interpretar en MapForceDocumentación generada para la configuración de mapeo que nuestra estructura original de "si-entonces-sino" ampliada. Por supuesto que no puedes siempre Reemplazar una estructura condicional "if-else" compleja con un mapeo de valores. Los datos que se introducen en la función "Value-Map" deben ser iguales a un único valor en la tabla de entrada para generar una salida específica, mientras que la función "Expanded If-Else" permite configurar una serie de condiciones con diferentes pruebas lógicas. A veces, la naturaleza precisa de un proyecto de conversión de datos hace que sea necesario tomar una decisión basada en el juicio profesional: ¿utilizar un elemento de conmutación o una tabla de consulta? Supongamos que su proyecto recibe como entrada un número que representa una longitud de onda del espectro electromagnético, y desea procesar la luz ultravioleta, los colores visibles y la energía infrarroja de forma independiente. En ese caso, podríamos utilizar una estructura "si-entonces-sino" ampliada para verificar rangos de valores de entrada. La sección ampliada de "si-entonces-sino" del mapeo podría verse así:

Si la entrada es un número entero, también se podría crear una solución utilizando Value-Map, pero sería necesario construir una tabla de consulta muy extensa. Además, ¿qué ocurriría más adelante si los requisitos del proyecto cambian y la entrada se convierte en un número decimal, o si es necesario filtrar cada color visible por separado según su nombre? En esencia, Altova MapForce es una representación gráfica realmente interesante de una completa caja de herramientas de lenguaje de programación que le protege de la sintaxis detallada del lenguaje de programación, y ofrece una amplia colección de componentes que puede combinar de forma creativa para resolver sus propios desafíos de mapeo, conversión e integración de datos.

Descubra por sí mismo lo fácil que es aplicar MapForce a sus propios proyectos de mapeo de datos. Descargue una versión de prueba gratuita de 30 días de MapForce.