遠隔作用_(計算機科學)

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