Lección 91 de 170

Diseñar una matriz de compatibilidad

Curso de desarrollo de videojuegos con IA

Haz explícitos los supuestos de esquema y build mediante una matriz de compatibilidad, la definición de destinos de migración e invariantes de ida y vuelta, y un plan de diagnóstico.

1325. Identidad de la lección

Módulo
3.13 — Versionado de esquemas y builds
Lección
2 del módulo
Tipo académico
Construcción guiada
Tipo de esquema
Práctica
Tiempo estimado
45–60 minutos
Propósito
Hacer explícitos los supuestos de versión.
Concepto principal
Sellos de esquema, sellos de build, dirección de las operaciones y combinaciones compatibles.

1326. Objetivo de aprendizaje

Al terminar esta lección, podrás producir una matriz de compatibilidad que relacione esquemas de origen, esquemas de destino o salida, sellos de build y operaciones con decisiones explícitas de soporte. También podrás definir un invariante de ida y vuelta y redactar un plan de diagnóstico para una combinación no compatible o desconocida.

1327. Por qué importa

Una etiqueta de versión solo sirve si el equipo puede actuar a partir de ella. El sello de esquema identifica la forma de los datos y sus reglas de interpretación; el sello de build identifica el comportamiento del ejecutable. Una matriz de compatibilidad convierte esas identidades en una política explícita de soporte.

Las migraciones y las comprobaciones de ida y vuelta requieren algo más que un esquema de origen. Una migración debe indicar el esquema de destino, mientras que una operación de ida y vuelta debe especificar su secuencia y qué debe permanecer sin cambios. Sin esos datos, una matriz puede parecer precisa y aun así ocultar supuestos importantes sobre la transformación.

1328. Conocimientos previos

Debes haber completado La identidad de versión tiene más de un significado, del módulo 3.13. Debes poder distinguir una versión de esquema de una versión de build y explicar por qué un build puede leer un registro que otro rechaza. Usa únicamente un formato de datos pequeño, ficticio o local, cuyos supuestos puedas verificar.

1329. Concepto central

La compatibilidad es una propiedad de una combinación concreta de esquema, build y operación, incluida la dirección de la operación.

Un registro de compatibilidad útil incluye:

  • Sello del esquema de origen: esquema de los datos de entrada.
  • Sello del esquema de destino o salida: esquema que debe producir una escritura, migración, exportación u operación de ida y vuelta; usa No aplica solo cuando no exista una salida.
  • Sello de build: programa que realiza la operación.
  • Operación: lectura, escritura, migración o una secuencia de ida y vuelta definida con precisión.
  • Resultado: compatible, compatible con migración, no compatible o desconocido.
  • Evidencia o regla: resultado de una prueba, regla de migración o motivo documentado.
  • Acción de diagnóstico: señal observable y respuesta segura para los casos no compatibles o desconocidos.

La lectura directa y la migración son decisiones distintas. Un build puede leer un esquema antiguo sin modificarlo, migrarlo a uno nuevo, permitir la escritura únicamente en el esquema nuevo o rechazar un esquema de salida solicitado.

1330. Modelo mental

Usa el modelo ORIGEN × DESTINO × BUILD × OPERACIÓN → DECISIÓN:

Esquema de origen Esquema de destino o salida Build Operación Decisión Evidencia requerida
Forma de los datos de entrada Forma de salida prevista o No aplica Código que realiza el trabajo Leer, escribir, migrar o secuencia explícita de ida y vuelta Admitir, migrar, rechazar o investigar Resultado de prueba o regla explícita

Para cada fila, pregunta:

  1. ¿Puede este build interpretar el esquema de origen para la operación indicada?
  2. ¿La operación produce una salida y, en ese caso, está explícito su esquema de destino?
  3. Si la operación es una migración, ¿existe una migración definida entre el origen y el destino?
  4. Si es una operación de ida y vuelta, ¿cuál es la secuencia exacta y qué invariante debe conservarse?
  5. ¿Qué diagnóstico observable debe aparecer cuando la combinación no es compatible o sigue siendo desconocida?

Una operación de ida y vuelta no significa simplemente “guardar y volver a cargar”. Debes indicar su dirección. Para esta lección, una secuencia válida es leer S1 → escribir S2 → leer S2. Su invariante establece que los valores de credits e items del registro S1 original deben conservarse de forma equivalente tras la lectura final de S2. El nuevo campo heat sigue el valor predeterminado documentado de la migración y no forma parte de ese invariante de conservación.

1331. Ejemplo concreto

Supón que un registro de guardado pequeño comienza con el esquema S1 y después añade el campo heat en S2:

  • B1 solo conoce S1.
  • B2 conoce S1 y S2, y puede migrar S1 a S2 asignando a heat un valor predeterminado documentado.
Esquema de origen Esquema de destino o salida Build Operación Resultado Evidencia o regla
S1 No aplica B1 Leer directamente Compatible Leer el conjunto original de campos.
S1 No aplica B2 Leer directamente Compatible Leer S1 sin tratar la lectura como una migración.
S1 S2 B2 Migrar Compatible con migración Aplicar el valor predeterminado documentado para heat.
S2 S2 B2 Escribir Compatible Producir todos los campos y el sello de S2.
S2 No aplica B1 Leer directamente No compatible Informar que B1 no admite S2; no descartar heat.
S1 S2 B2 Ida y vuelta: leer S1 → escribir S2 → leer S2 Compatible con migración Verificar que se conservan credits e items y que heat recibe su valor predeterminado documentado.
S2 S1 B2 Migrar o exportar No compatible No existe una migración inversa; no perder heat silenciosamente.

La columna de destino o salida evita que términos como “migrar” o “escribir” oculten el esquema que se pretende producir. La secuencia explícita evita tratar como equivalentes direcciones opuestas de ida y vuelta.

1332. Errores comunes

Evita estos errores:

  • Tratar la lectura directa y la migración como si fueran la misma capacidad.
  • Suponer que un build más reciente admite todos los esquemas y operaciones.
  • Escribir “migrar” sin indicar los esquemas de origen y destino.
  • Escribir “ida y vuelta” sin definir la secuencia y el invariante de conservación.
  • Marcar una celda sin probar como compatible en lugar de desconocida.
  • Aceptar la pérdida silenciosa de campos como una migración inversa válida.

1333. Práctica guiada

Crea una matriz de compatibilidad y un plan de diagnóstico para este formato ficticio:

  • El esquema S1 contiene credits e items.
  • El esquema S2 añade heat y registra un sello de esquema.
  • El build B1 puede leer y escribir S1.
  • El build B2 puede leer S1, migrarlo a S2, y leer y escribir S2.
  • No se ha definido ninguna migración de S2 a S1.

Sigue estos pasos:

  1. Enumera por separado los sellos de esquema y de build.
  2. Incluye operaciones de lectura, escritura, migración e ida y vuelta.
  3. En cada fila, indica el esquema de origen y el build. Si la operación produce o transforma datos, indica también el esquema de destino o salida; en caso contrario, escribe No aplica.
  4. Define la operación de ida y vuelta requerida como leer S1 → escribir S2 → leer S2.
  5. Nombra su invariante: el registro final debe conservar los valores originales de credits e items. Registra por separado la regla esperada para heat.
  6. Marca cada resultado como compatible, compatible con migración, no compatible o desconocido.
  7. Para cada resultado no compatible o desconocido, crea un registro de diagnóstico que capture en conjunto:
    • el sello del esquema de origen;
    • el sello del esquema de destino o salida pertinente;
    • el sello de build;
    • la operación y su dirección;
    • el fallo o advertencia esperados;
    • la evidencia que confirmaría el diagnóstico;
    • la siguiente acción segura.
  8. Indica por separado qué campo registrado inspeccionarías primero durante el triaje y por qué. Esta decisión de secuencia no elimina el requisito de capturar el registro de diagnóstico completo.
  9. Decide si la ruta S2S1 se admite, se rechaza o queda pendiente de evidencia. No diseñes ni implementes una migración inversa. Si la rechazas, explica por qué no es aceptable perder heat silenciosamente.

Usa esta estructura:

Esquema de origen Esquema de destino o salida Build Operación y dirección Resultado Invariante, evidencia o regla Acción de diagnóstico

No sustituyas la evidencia que falta por una suposición. Desconocido es una decisión adecuada cuando todavía se necesita verificación.

1334. Validación / evidencia

Tu trabajo es válido cuando incluye:

  • Listas separadas de sellos de esquema y de build.
  • Campos para el esquema de origen y el esquema de destino o salida, con No aplica únicamente cuando no exista una salida.
  • Al menos una fila de lectura, escritura, migración e ida y vuelta.
  • Decisiones específicas por operación para los casos importantes S1/B1, S1/B2, S2/B1 y S2/B2.
  • La secuencia explícita leer S1 → escribir S2 → leer S2.
  • Un invariante que exija conservar credits e items, además de una regla separada para el valor esperado de heat.
  • Al menos una combinación marcada explícitamente como no compatible.
  • Evidencia o una regla documentada para cada decisión de soporte.
  • Un registro de diagnóstico completo para cada resultado no compatible o desconocido.
  • Una siguiente acción segura que evite la pérdida silenciosa de datos.
  • Una decisión de política escrita para S2S1, sin implementar una migración inversa.

Entrega la matriz y el plan de diagnóstico mediante la evaluación práctica asociada. El cuestionario comprueba la comprensión conceptual; la evaluación práctica valora tu capacidad para producir y justificar el artefacto.

1335. Puntos clave

  • La compatibilidad pertenece a una combinación de esquema de origen, esquema de destino, build y operación.
  • Las migraciones deben indicar sus esquemas de origen y destino.
  • Las operaciones de ida y vuelta deben definir su secuencia y su invariante de conservación.
  • La lectura directa, la escritura, la migración y la ida y vuelta requieren decisiones separadas.
  • Es preferible marcar una combinación como desconocida que respaldarla con una suposición.
  • Los registros de diagnóstico deben capturar juntas todas las identidades pertinentes y conducir a una acción segura.

1336. Siguiente lección

Continúa con 3.14 — Git profesional.

1337. Comprobación

Responde estas preguntas por tu cuenta antes de leer las respuestas.

¿Qué hace explícita principalmente una matriz de compatibilidad?

  • A. Qué build es el más reciente
  • B. Qué combinaciones de esquema de origen, esquema de destino, build y operación son compatibles y por qué
  • C. Qué rama de control de código debe desplegarse
  • D. Qué campos de datos son más importantes para los jugadores
Mostrar respuesta y explicación

Respuesta: Qué combinaciones de esquema de origen, esquema de destino, build y operación son compatibles y por qué

Por qué: La matriz registra decisiones de soporte específicas para cada operación, incluida su dirección y el esquema de salida cuando corresponda, junto con la evidencia que las respalda.

¿Por qué debe indicar un esquema de destino una entrada de migración?

  • A. Porque el soporte de migración depende de una transformación definida entre un origen y un destino
  • B. Porque el esquema de destino sustituye al sello de build
  • C. Porque todos los esquemas de destino son compatibles automáticamente
  • D. Porque la dirección de la migración no afecta a la evidencia
Mostrar respuesta y explicación

Respuesta: Porque el soporte de migración depende de una transformación definida entre un origen y un destino

Por qué: La migración tiene dirección. Que se admita S1S2 no demuestra que también se admita S2S1.

¿Qué definición precisa correctamente la prueba de ida y vuelta requerida?

  • A. Usar el build más reciente y comprobar si se inicia
  • B. Leer S1, escribir S2, leer S2 y verificar que se conservan credits e items
  • C. Escribir dos veces cualquier esquema y comparar los tamaños de archivo
  • D. Leer S2 con B1 e ignorar los campos desconocidos
Mostrar respuesta y explicación

Respuesta: Leer S1, escribir S2, leer S2 y verificar que se conservan credits e items

Por qué: Una definición útil de ida y vuelta indica la secuencia, la dirección, el esquema de salida y el invariante de conservación.

¿Qué registro de diagnóstico resulta más útil para una migración no compatible?

  • A. Solo el sello de build
  • B. Solo el esquema de origen
  • C. Un mensaje de fallo genérico sin información de versión
  • D. Esquema de origen, esquema de destino, build, dirección de la operación, señal esperada, evidencia y siguiente acción segura
Mostrar respuesta y explicación

Respuesta: Esquema de origen, esquema de destino, build, dirección de la operación, señal esperada, evidencia y siguiente acción segura

Por qué: Capturar juntas todas las identidades pertinentes permite relacionar la señal observada con la decisión de compatibilidad exacta y una respuesta segura.

Lleva esta lección a la práctica

Plantillas y listas gratuitas relacionadas

Apoyar