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.