Programación de culto de carga
programación de culto de carga es un estilo de programación de computadoras que se caracteriza por la inclusión ritual de códigos o estructuras de programas que no tienen un propósito real. La programación de Cargo Cult es sintomática de que un programador no comprende un error que estaba tratando de resolver o la solución aparente (compare la depuración de escopeta, la magia profunda). El término programador de culto de carga puede aplicarse cuando alguien sin experiencia con el problema en cuestión copia el código de un programa de un lugar a otro con poca comprensión de cómo funciona o si es necesario.
La programación de culto de carga 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 comprender las razones detrás de ese principio de diseño. Algunos ejemplos son la adición de comentarios innecesarios al código que se explica por sí mismo, la adherencia excesiva a las convenciones de un paradigma de programación o la adición de código de eliminación para objetos que la recolección de elementos no utilizados recolecta automáticamente.
Las comprobaciones obsesivas y redundantes de valores nulos o probar si una colección está vacía antes de iterar sus valores pueden ser un signo de programación de culto de carga. Estas comprobaciones obsesivas hacen que el código sea menos legible.
Origen
El término culto al cargo como modismo originalmente se refería a las religiones aborígenes que crecieron en el Pacífico Sur después de la Segunda Guerra Mundial. Las prácticas de estos grupos se centraban en la construcción de elaboradas maquetas de aviones y pistas de aterrizaje militares con la esperanza de convocar a los seres divinos que llegaban en aviones que habían traído cargamentos maravillosos durante la guerra. En las últimas décadas, la antropología se ha distanciado del término "culto de carga" que ahora se considera que se ha aplicado reductivamente a muchos movimientos sociales y religiosos complicados y dispares que surgieron del estrés y el trauma del colonialismo, y buscaban alcanzar objetivos mucho más variados y amorfos, como la autodeterminación, que la carga material..
El uso del término en la programación de computadoras probablemente se deriva de la caracterización de Richard Feynman de ciertas prácticas como ciencia de culto de carga.
Ingeniería de software de culto de carga
Un término relacionado con la programación de culto de carga en ingeniería de software es ingeniería de software de culto de carga, acuñado por Steve McConnell.
McConnell describe organizaciones de desarrollo de software que intentan emular casas de desarrollo más exitosas, ya sea siguiendo servilmente un proceso de desarrollo de software sin comprender el razonamiento detrás de él, o intentando emular un enfoque de desarrollo orientado al compromiso (en el que los desarrolladores de software dedican gran cantidades de tiempo y energía para que sus proyectos tengan éxito) al exigir largas horas y horas extras no pagadas, mientras que en las empresas exitosas esto podría ser consecuencia de una alta motivación en lugar de causas del éxito.
En ambos casos, McConnell sostiene que la competencia determina en última instancia si un proyecto tiene éxito o fracasa, independientemente del enfoque de desarrollo adoptado; además, afirma que las incompetentes "organizaciones impostoras" (que simplemente imitan la forma de organizaciones exitosas de desarrollo de software) están de hecho participando en lo que él llama ingeniería de software de culto de carga.
Contenido relacionado
Apestar
EDIF
Zurra