Programación de culto al cargo.
Inclusión ritual de código informático innecesario
La programación de culto al cargo es un estilo de programación informática caracterizado por la inclusión ritual de código o estructuras de programa que no cumplen ningún propósito real. La programación de culto al cargo es sintomática de un programador que no entiende ni el error que intentaba resolver ni la aparente solución (compárese con la depuración a escopetazos y la magia profunda). El término programador de culto al cargo puede aplicarse cuando cualquier persona sin experiencia en el problema en cuestión copia algo de código de programa de un sitio a otro con poca comprensión de cómo funciona o de si es necesario.
La programación de culto al cargo también puede referirse a la práctica de aplicar un patrón de diseño o un estilo de codificación a ciegas, sin entender las razones que hay detrás de ese principio de diseño. Algunos ejemplos son añadir comentarios innecesarios a código que se explica por sí mismo, una adhesión excesivamente celosa a las convenciones de un paradigma de programación o añadir código de eliminación para objetos que el recolector de basura recoge automáticamente.
Etimología
Los cultos al cargo son movimientos milenaristas que surgieron en Melanesia bajo el dominio colonial, e inspiraron a Richard Feynman a acuñar la expresión ciencia de culto al cargo. Según la descripción de Feynman, tras el final de la Segunda Guerra Mundial sus practicantes creían que las entregas de carga por aire se reanudarían si llevaban a cabo los rituales adecuados, como construir pistas de aterrizaje, encender fuegos junto a ellas y ponerse auriculares tallados en madera mientras se sentaban en torres de control fabricadas. «La forma es perfecta. Tiene exactamente el mismo aspecto que tenía antes. Pero no funciona.»
El término pasó luego a usarse más ampliamente como metáfora de los rituales vacíos. La expresión «programación de culto al cargo» apareció en la versión 2.5.1 del Jargon File, un glosario de jerga informática, publicado en enero de 1991. El término «culto al cargo» en antropología, por su parte, se evita cada vez más por no representar la complejidad de las creencias melanesias.
Ingeniería de software de culto al cargo
Un término relacionado con la programación de culto al cargo en la ingeniería de software es ingeniería de software de culto al cargo, acuñado por Steve McConnell.
McConnell describe organizaciones de desarrollo de software que intentan emular a casas de desarrollo más exitosas, ya sea siguiendo servilmente un proceso de desarrollo de software sin entender el razonamiento que hay detrás, o intentando emular un enfoque de desarrollo orientado al compromiso (en el que los desarrolladores de software dedican grandes cantidades de tiempo y energía a sacar adelante sus proyectos) imponiendo largas jornadas y horas extra no remuneradas, cuando en las empresas exitosas estas podrían ser, en cambio, consecuencias de una alta motivación en lugar de causas del éxito.
En ambos casos, McConnell sostiene que es la competencia lo que en última instancia determina si un proyecto tiene éxito o fracasa, con independencia del enfoque de desarrollo adoptado; además, afirma que las «organizaciones impostoras» incompetentes (que se limitan a imitar la forma de las organizaciones de desarrollo de software exitosas) están de hecho practicando lo que él denomina ingeniería de software de culto al cargo.