Программирование культа карго

Ритуальное включение компьютерного кода, не имеющего никакой цели

Программирование карго-культа — это стиль компьютерного программирования, характеризующийся ритуальным включением кода или программных структур, которые не служат никакой реальной цели. Программирование карго-культа является симптомом того, что программист не понимает ни ошибку, которую он пытается исправить, ни очевидное решение (сравните отладку дробовиком , глубокую магию ). [1] Термин «программист карго-культа» может применяться, когда кто-либо, не имеющий опыта решения проблемы, копирует некоторый программный код из одного места в другое, не имея достаточного представления о том, как он работает или требуется ли он.

Программирование с культом карго может также относиться к практике слепого применения шаблона проектирования или стиля кодирования без понимания причин, лежащих в основе этого принципа проектирования. Некоторые примеры — добавление ненужных комментариев к самоочевидному коду, чрезмерное следование соглашениям парадигмы программирования или добавление кода удаления для объектов, которые автоматически собирает сборщик мусора .

Этимология

Джон Фрум крест на острове Танна , Вануату

Культы грузов — это милленаристские движения, возникшие в Меланезии во времена колониального правления и вдохновившие Ричарда Фейнмана на создание выражения «наука о грузовом культе» . По описанию Фейнмана, после окончания Второй мировой войны практикующие верили, что доставка грузов по воздуху возобновится, если они будут выполнять надлежащие ритуалы, такие как строительство взлетно-посадочных полос, разжигание костров рядом с ними и ношение наушников, вырезанных из дерева, сидя в изготовленных контрольных вышках. «Форма идеальна. Она выглядит точно так же, как и раньше. Но она не работает».

Термин затем стал использоваться более широко как метафора пустых ритуалов. Термин «программирование карго-культа» появился в версии 2.5.1 Jargon File , глоссария компьютерного сленга, выпущенного в январе 1991 года. Термин «карго-культ» в антропологии, тем временем, все чаще избегают из-за того, что он не отражает сложность меланезийских верований. [2] [3]

Разработка программного обеспечения для культа карго

Термин, связанный с программированием культа груза в программной инженерии,программная инженерия культа груза , придуманная Стивом Макконнеллом . [4] : 23-26 

Макконнелл описывает организации по разработке программного обеспечения, которые пытаются подражать более успешным компаниям-разработчикам, либо слепо следуя процессу разработки программного обеспечения, не понимая его обоснований, либо пытаясь подражать подходу к разработке, ориентированному на приверженность делу (при котором разработчики программного обеспечения тратят много времени и энергии на то, чтобы добиться успеха своих проектов), требуя долгих рабочих часов и неоплачиваемых сверхурочных, в то время как в успешных компаниях это может быть следствием высокой мотивации, а не причиной успеха.

В обоих случаях Макконнелл утверждает, что компетентность в конечном итоге определяет, будет ли проект успешным или нет, независимо от принятого подхода к разработке; более того, он утверждает, что некомпетентные «организации-самозванцы» (которые просто имитируют форму успешных организаций по разработке программного обеспечения) на самом деле занимаются тем, что он называет разработкой программного обеспечения с культом карго . [5] : 11–13 

Смотрите также

Ссылки

  1. ^ Рэймонд, Эрик С. (11 октября 1996 г.). Новый словарь хакера (третье изд.). MIT Press . ISBN 978-0262680929. OCLC  42329393. OL  9828647M.
  2. ^ Линдстром, Ламонт (2018). «Культы карго». Открытая энциклопедия антропологии . Получено 17.01.2024 .
  3. ^ Джарвис, Брук (2019). "Кто такой Джон Фрум?". Тема . Архивировано из оригинала 2019-04-18.
  4. ^ Макконнелл, Стив (2003). Профессиональная разработка программного обеспечения . Addison-Wesley . стр. 23-26. ISBN 978-0-321-19367-4– через Интернет-архив .
  5. ^ Макконнелл, Стив (март–апрель 2000 г.). «Cargo Cult Software Engineering» (PDF) . IEEE Software : 11– 13. eISSN  1937-4194. ISSN  0740-7459 . Получено 5 мая 2023 г.

Дальнейшее чтение

Взято с "https://en.wikipedia.org/w/index.php?title=Cargo_cult_programming&oldid=1247506679"