La reposición veraniega de The Daily WTF desentierra un clásico: una interfaz que abandona la abstracción por la enumeración. Christian, un desarrollador alemán, descubre ITableSelector en el código—una interfaz C# declarando 31 métodos individuales para seleccionar diferentes tablas. En lugar de un enfoque parametrizado (selectTable(int tableNumber)), el diseñador codificó selectTable1(), selectTable2()... hasta selectTable31(), con algunas tablas dividiéndose en variantes (selectTable4a, selectTable4b, selectTable14a a 14d).
La infracción es un fallo de diseño de manual: la interfaz bloquea nombres de tabla en tiempo de compilación, elimina seguridad de tipos y hace que agregar una tabla 32 requiera reescribir el contrato. Es lo opuesto al Principio Abierto/Cerrado. El código pide a gritos un único método que acepte un identificador de tabla—o mejor aún, una verdadera capa de abstracción.
El término acuñado por Christian, quäl-kot (código-tortura), es acertado: esta es la clase de estructura que convierte el mantenimiento en un secuestro permanente.
Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.