動機(Motivation)
臨時變量有各種不同用途,其中某些用途會很自然地導致臨時變量被多次賦值。[循環變量]和[集用臨時變量]就是兩個典型例子:循環變量(loop variable)會隨循環的每次運行而改變(例如for(int i=0; i <10;i++)語句中的i);集用臨時變量(collection temporary variable)負責將[通過整個函數的運算]而構成的某個值收集起來。
除了這兩種情況,還有很多臨時變量用于保存一段冗長代碼的運算結果,以便稍后使用。這種臨時變量應該只被賦值一次。如果它們被賦值超過一次,就意味它們在 函數中承擔了一個以上的責任。如果臨時變量承擔多個責任,它就應該被替換(剖解)為多個臨時變量,每個變量只承擔一個責任。同一個臨時變量承擔兩件不同的 事情,會令代碼閱讀者糊涂。
臨時變量有各種不同用途,其中某些用途會很自然地導致臨時變量被多次賦值。[循環變量]和[集用臨時變量]就是兩個典型例子:循環變量(loop variable)會隨循環的每次運行而改變(例如for(int i=0; i <10;i++)語句中的i);集用臨時變量(collection temporary variable)負責將[通過整個函數的運算]而構成的某個值收集起來。
除了這兩種情況,還有很多臨時變量用于保存一段冗長代碼的運算結果,以便稍后使用。這種臨時變量應該只被賦值一次。如果它們被賦值超過一次,就意味它們在 函數中承擔了一個以上的責任。如果臨時變量承擔多個責任,它就應該被替換(剖解)為多個臨時變量,每個變量只承擔一個責任。同一個臨時變量承擔兩件不同的 事情,會令代碼閱讀者糊涂。