我有一個由輪詢(每10毫秒)調用的函數,它有它的開始檢查:如何複製功能優化
if(input != saved_data)
return;
// rest of the function...
,雖然這個檢查可以節省大量的時間,有時這是錯誤的,我目前正在調試的情況下,我需要繼續執行功能,雖然input == saved_data
。
我想到了2個選項:
- 添加一個「力」標誌的參數列表,雖然這是真的,則如果將被忽視
- 創建一個新的功能
old_function_force
代碼相同,除如果
我選擇了選項2,因爲我不想讓其他所有的呼召修改的功能,我想代碼是向後兼容的,但它發生,我認爲我的解決方案也很糟糕,因爲有人應該改變old_function
他可能會忘記更換我的,這會導致新的錯誤
除了這兩個方法之外還有更好的解決方案,還是改進其中之一的方法?
我認爲,當我想要一個強制執行。我會調用func_with_force(/ *參數* /,true),是嗎? – CIsForCookies
@noob - 準確地說。我主要關注如何以儘可能低的成本添加新功能。當然,如果你想使用新功能,你需要調用新命名的函數。 – StoryTeller