貨物崇拜編程(英語:Cargo Cult Programming)是一種計算機程序設計中的反模式,其特徵為不明就裡地、儀式性地使用代碼或程序架構。貨物崇拜編程通常是程序員既沒理解他要解決的程式錯誤、也沒理解表面上的解決方案的典型表現[1]

這個名詞常指不熟練的或沒經驗的程序員從某處拷貝代碼到另一處,卻並未了解其代碼是如何工作的,或者不清楚在新的地方是否需要這段代碼。也可以指不正確或過分地應用設計模式、代碼風格或編程方法,卻不清楚其原理。貨物崇拜編程也可以指對設計模式的盲目崇拜:盲目地使用設計模式,卻不理解特定設計模式背後的原則。

語源

貨物崇拜一詞指二戰期間太平洋某些原住民社會中產生的信仰。他們會建造模仿飛機形狀的模型和形似飛機跑道的設施,期待能夠召喚飛機,像戰爭時代一樣給他們帶來物資。[2][3]

在軟件開發的語境中使用貨物崇拜一詞,可能源自物理學家理查德·費曼所提出的「貨物崇拜科學」。[3][4]

貨物崇拜軟件工程

「貨物崇拜軟件工程」(Cargo Cult Software Engineering)是一個與貨物崇拜編程相關的概念。[5]:23-26這個概念指盲目模仿成功的軟件開發團體的表面現象,例如機械套用軟件開發過程卻不理解其中的理由;或者因為一些成功的軟件項目的開發團體出於熱忱和激情而有較多無報酬的加班,而將無報酬加班當作成功的原因。

提出這一概念的史蒂夫·麥克康奈爾(Steve McConnell)認為,決定項目成功與否的根本條件是能力,而不是表面上的方法;他進一步指出,機械模仿成功者表象的「東施效顰的組織」是貨物崇拜軟件工程的成因。[3]

參考來源

參見

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.