About Side Effects

About Side Effects

About Side Effects

About Side Effects

函式中保證只能做一件事,如果做了其它事可能會
出現Side effect。可能會使得同類別其它變數,產生
不可預期的改變。有時它會轉換成其它參數傳遞給其它
函式,或是轉變成系統的全域變數,皆會導致時空耦合
(temporal coupling)和順序相依性的問題。

當一個函式中做了兩件事,且第二件事只能在特定時空去做
,此函式的命名變成相當重要。
ex:checkPassword & chcekPasswordAndInitializeSession
checkPassword -> 沒有特定時間皆可使用
chcekPasswordAndInitializeSession -> 初始工作階段特定時空才能使用