1. 程式人生 > >4.4 移除控制標記

4.4 移除控制標記

表達 lag == ood rdquo ont clas 作用 重構

【1】原代碼

 1 // 重構前
 2 QString foundPerson(QStringList people)
 3 {
 4     QString found = QString();
 5     for (int i = 0; i < people.size(); ++i)
 6     {
 7         if (people[i].compare("Don") == 0)
 8         {
 9             found = "Don";
10         }
11 
12         if (people[i].compare("
John") == 0) 13 { 14 found = "John"; 15 } 16 17 if (people[i].compare("Dave") == 0) 18 { 19 found = "Dave"; 20 } 21 } 22 23 return found; 24 }

【2】移除控制標記

 1 // 重構後
 2 QString foundPerson(QStringList people)
 3 {
4 QStringList candidates = {"Don", "John", "Dave"}; 5 for (int i = 0; i < people.size(); ++i) 6 { 7 if (candidates.contains(people[i])) 8 { 9 return people[i]; 10 } 11 } 12 13 return QString(); 14 }

【3】總結

在一系列布爾表達式中,某個變量帶有“控制標記”(control flag)的作用。以break語句或return語句取代控制標記。

Good Good Study, Day Day Up.

順序 選擇 循環 總結

4.4 移除控制標記