远隔作用 (计算机科学) 远隔作用Action at a distance是一種程式設計中的反模式是指程式某一部份的行為會廣泛的受到程式其他部份指令的影響而且要找到影響其他程式的指令很困難甚至根本無法進行 避免远隔作用的方法是避免使用全域變數利用可控制的區域變數來調整資料或是使用有参照透明度英语Referential transparency computer science的純函數程式語言 此詞語的由來是來自物理學中的遠距作用是指一個物體在和另一物體中間沒有粒子交換的情形下影響另一物體的現象量子力學的量子纏結就是遠距作用的一個例子愛因斯坦將此稱為鬼魅似的遠距作用spooky actionatadistance 远隔作用造成的程序错误常是因為程式模組的特定機能在錯誤的時間動作或是影響了不應當影響的變數不過很難找出是哪一個模組造成的影響一些看似沒有問題的動作的副作用使得程式在一個未知的狀態中因此局部的資料也可能不是局部的有可能受到其他模組的影響改善远隔作用的方式是定義一個模組可以影響模組的範圍若在軟體設計時準確的定義各模組之間的介面避免使用共享的資料或是全域變數可以大幅減少远隔作用造成的問題