副作用 (電腦科學)
維基百科,自由的 encyclopedia
在電腦科學中,函數副作用(side effect)指當調用函數時,除了返回可能的函數值之外,還對主調用函數產生附加的影響。例如修改全域變數(函數外的變數),修改參數,向主調方的終端、管道輸出字符或改變外部存儲資訊等。
在某些情況下函數副作用會給程式設計帶來不必要的麻煩,給程式帶來十分難以查找的錯誤,並降低程式的可讀性與可移植性。嚴格的函數式語言要求函數必須無任何副作用,但功能性靜態函數本身的目的正是產生某些副作用。在生命科學中,副作用往往帶有貶義,但在電腦科學中,副作用有時正是「主要作用」。