4.4 移除控制標記
阿新 • • 發佈:2017-08-15
表達 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 移除控制標記