2012-08-15 53 views
2

有時候我發現自己做了以下內容:設置標誌之前,做工作

if (some_condition) 
    set_flag(true) 

do_some_work(); 
// more work ... 

if (some_condition) 
    set_flag(false) 

它常常覺得砍死在一起。有什麼方法可以重構這個,所以它更清潔?

+0

你想達到什麼目的? – FJT 2012-08-15 15:45:33

+0

'some_condition'條件相同嗎? – raina77ow 2012-08-15 15:47:36

+0

get_flag在哪裏?也許你可以發佈更詳細的僞代碼? – zanegray 2012-08-15 15:53:40

回答

1

在我opion,我認爲建議的僞碼是好的有以下幾個原因:
1.檢查一個標誌,而不是檢查條件一遍又一遍的效率應該更高
2.其他抽象/重構可能只會造成更多的是頭痛的道路,似乎是可以更好地在其他地方使用非增值工作
3.使用標誌通常是可讀如果他們有有意義的名稱(或方法名稱這種情況下)