Cuando el acompañante falla
Un binario que no arranca en la máquina de un usuario y funciona en la tuya: las seis causas, cómo se distinguen, y qué debe hacer la aplicación mientras tanto.
Las seis causas
Cinco de las seis se previenen en la construcción, y la conclusión práctica es que este nivel se resuelve sobre todo con comprobaciones automáticas antes de publicar — que es lo que la fase X llama una puerta de publicación.
Las comprobaciones de construcción
La última es la más valiosa: si el binario empaquetado responde a su opción de versión, las seis causas están descartadas en esa máquina.
Qué hace la aplicación mientras tanto
Porque aunque prevengas, alguna vez fallará:
- No bloquees lo que no depende de él. Si el acompañante sirve para exportar vídeo, el resto de la aplicación debe funcionar.
- Comprueba al usar, no al arrancar, salvo que sea imprescindible. Nivel 45.5.
- Y da un mensaje que distinga las causas en la medida de lo posible: «el componente no se pudo ejecutar» es inútil; «el sistema ha bloqueado un componente de la aplicación» le dice al usuario qué buscar.
Y guarda el error exacto —el del sistema, con su código— aunque no lo muestres. Es lo que convierte una incidencia en un diagnóstico.
La degradación
Si la función es importante, merece una alternativa:
- Hacerlo en Rust, más lento. Si existe una implementación pura aunque sea peor, tenerla como respaldo convierte un fallo en una molestia.
- Usar la herramienta del sistema si está. El nivel 45.5 al revés: empaquetada primero, del sistema como respaldo.
- O pedirle al usuario que la instale, con las instrucciones del nivel 45.5.