程式裡面的資料或狀態,出乎意料的被其他程式修改了,甚至非常難以找到怎麼發生的。
當資料在較大作用範圍的程式內被反覆操作時,隨著作用範圍越來越大,往往會產生很多風險。
Encapsulate Variable
來確保所有更新都通過特定 function 處理,以方便監控。Split Variable
來隔離。Slide Statements
及 Extract Function
來把更新資料的邏輯單純化。Separate Query from Modifier
來確保呼叫端只在真的需要更新資料的時候才呼叫。Remove Setting Method
來減少意外更改欄位的機會。Replace Derived Variable with Query
來取代。Combine Functions into Class
或 Combine Functions into Transform
來限制資料可被存取的範圍。Change Reference to Value
傳遞值。