Códigos de error y la ley de menos asombro

¿Conoces la ley de menor asombro? No estoy seguro de su origen, pero la aprendí por primera vez desde el excepcional “Tao de programación”. En pocas palabras, es el principio de que el software siempre debe responder a los usuarios de una manera que los menos asombran. En otras palabras, la impresión de un papel no debe borrarla de su sistema de archivos.

Siguiendo la ley de menos asombro, ¿qué debe hacer un programa cuando tiene un error difícil? Puede decir que debe informarle al usuario. Desafortunadamente, muchos sistemas simplemente lo cepillan bajo la alfombra en estos días.

Creo que comenzó con Windows. O tal vez la Mac. El pensamiento va que los usuarios finales son demasiado tontos o demasiado aterrorizados de códigos de error o mensajes en profundidad, por lo que solo los estamos dejando fuera. Caso en punto: el iPhone de mi esposa no publicaría imágenes. No soy un experto considerando que llevo un dispositivo Android, pero accedí a mirarlo. No importa lo que intenté, obtuve el mismo mensaje inútil: “No se puede publicar fotos Ideal ahora. Por favor, inténtelo de nuevo más tarde.” Esto no solo es muy informativo, sino que también implica que el problema está en algo que podría solucionarse más tarde como la red.

¿El verdadero culpable? Los términos de servicio de iCloud habían cambiado y ella no había aceptado el nuevo contrato. Tengo la sensación de que podría haber aparecido pidiéndole que hiciera eso en algún momento, pero por cualquier motivo que ella la extrañaba. Hasta que cavó en la configuración y verifique la casilla para aceptar esos términos, “más tarde” nunca sucederá.

Pero no es solo iPhones. Windows está llena de cosas como esa y solo espera que haya un registro en el cliente del evento con muchos más detalles. También veo mucho más en Linux, aunque normalmente hay un archivo de registro en algún lugar si sabe cómo encontrarlo. Si bien lo entiendo, los programas que tienen errores corren el riesgo de asombrar al usuario, incluso es mucho más sorprendente si no hay explicación de lo que está mal. Imagínese si su banco le envió una nota: hay un problema con su cuenta. Así que respondes: “¿Me sobregiro?” Ellos responden, “No.” ¿ahora que? Ese es el estado de muchos errores de software hoy.

Realmente no hay excusa en los sistemas de escritorio o sitios web. Sin embargo, es posible que desee perdonar pequeños sistemas integrados. ¡Qué! Recientemente, puse en portado el firmware de la impresora 3D a una placa ANET A8, un procesador de 8 bits con poca memoria, que había estado en firmware repetitivo durante muchos años. La primera vez que intenté hacer una sonda AutoLevel, obtuve el mensaje: Error de sondeo. Eso es todo.

Le concederé que puede activar la depuración de AutoLevel para obtener mucha más información, pero ya estoy en un 98% de utilización de Flash, por lo que eso requeriría eliminar temporalmente un montón de características y reconstruir el código. Pero, ¿por qué no hacer lo que haríamos en los viejos tiempos?

unidad global_error = 0;
Void do_something (void) {
Global_Error = 1;
Si (Process1 () == falla) devuelve;
global_error ++;
Si (Process2 () == falla) devuelve;
. . .

Global_Error = 0;
regreso;
}
Esto no toma mucho espacio. Ahora puede informar algo como el sondeo fallado (8) y al menos puedo ir al código y averiguar cuál fue el octavo paso que falló. Estoy seguro de que alguien incluso publicaría una lista de códigos y lo que indicaron en un caso así.

¿Demasiado en lo alto? Dime el contador del programa donde sucedió el error. Eso solía ser una práctica bastante común. Por supuesto, requiere que tenga un archivo mapa de memoria y sepa cómo leerlo, pero sigue siendo mejor que nada.

Pasamos mucho tiempo pensando en cómo los proyectos y el software deben trabajar. Pero también necesitamos pasar tiempo pensando, sobre lo que sucede cuando no funcionan. Está bien que podamos hacer la depuración en el circuito o conectar un analizador lógico, pero eso no ayudará a nuestros usuarios. Incluso si es solo para ti, ¿por qué no hacerlo un poco más fácil en ti mismo?

Como hemos dicho antes, “No hay tal cosa como demasiada información”. Además de protegerse contra los errores del sistema, también puede ayudar a los usuarios a no sorprenderse.

Crédito de la imagen: [ELISA VENTUR] por medio de INSPLAK.COM

Send your Comment

Your email address will not be published. Required fields are marked *