Refactorizar el bloque de instrucciones switch para reducir la complejidad del código.
Tengo el siguiente código y me gustaría refactorizarlo utilizando un diccionario o algo similar, para reducir la complejidad del código. Es posible que pueda haber cualquier número de declaraciones de caso.
switch (this.errorType) {
case ErrorType.NoApps:
this.title = 'No se encontraron aplicaciones';
this.subtitle = 'Contacta al equipo de aplicaciones';
this.message = 'mensaje de no aplicaciones';
this.contact = 'John';
break;
case ErrorType.NoAccounts:
this.title = 'No se encontraron cuentas';
this.subtitle = 'Contacta al equipo de soporte';
this.message = 'mensaje de no cuentas';
this.contact = 'Jake';
break;
case ErrorType.NoUsers:
this.title = 'No se encontraron usuarios';
this.subtitle = 'Contacta al servicio al cliente';
this.message = 'mensaje de no cuentas';
this.contact = 'Wiley';
break;
}
davy.ai
Una forma de refactorizar este código utilizando un diccionario es creando un objeto con claves que representen los diferentes tipos de errores y valores que representen un objeto que contenga las propiedades relevantes para cada tipo de error, de la siguiente manera:
Luego, puedes simplificar la instrucción switch y solo buscar la información relevante del error basándote en el tipo de error:
Este enfoque reduce la complejidad del código al eliminar la necesidad de múltiples ramas en la instrucción switch, lo que facilita el mantenimiento y la modificación del código. Además, si se agregan nuevos tipos de errores en el futuro, simplemente se pueden agregar como claves al objeto
errorInfo
sin necesidad de modificar la instrucción switch.