子方法處理太多情況的問題

2022-08-04 00:57:15 字數 326 閱讀 7342

重構**時經常遇到乙個子方法(或者類)有複雜的if-else,可以處理多種情況。

此時該方法的呼叫者貌似很簡單,只需要簡單的呼叫該方法即可。但事實上,所有的複雜邏輯都落到該子方法鐘。

結果導致子方法的本來互不關聯的呼叫者也變得互相耦合。即,我只想因為呼叫者a修改子方法,則因為子方法被修改,其他呼叫者都可能受到散彈式影響。對子方法的修改,必須考慮其各種呼叫者的實際使用情況。

所以越是子方法,越應該處理更少的情況。將複雜的邏輯交給呼叫者來處理。當然如果僅僅是簡單的多個狀態處理,例如strcpy中判斷string位址是否為空,在不影響理解難度的情況下,還是放在子方法中處理空和非空兩種情況更簡單。

Android子執行緒中處理吐司的情況

子執行緒中處理一些網路請求或吐司等操作 使用new thread run start 處理單乙個網路請求 可以考慮 非同步任務 asyntask 處理大批量的網路請求 可以考慮 如qq載入小 實時去請求載入資料的時候 可以考慮使用非同步任務 子執行緒中吐司的情況 1 使用looper.prepare...

處理問題的方法

1.遇到問題不要急躁,盲目的急於去解決這乙個問題。不妨冷靜思考一下,這個問題出現的原因,其他相關頁面會不會出現類似的問題,修改後對其他的頁面會不會產生影響。這樣就可以避免修改部分正常了,卻又出現了新的問題,導致工作量增大。2.對時間明確管理,要明確知道自己的工作量,能夠合理安排自己每天的工作。給自己...

什麼情況會發生死鎖,死鎖的處理方法

如兩個程序分別等待對方占有的資源,於是兩個程序都不能執行而處於等待狀態,此執行緒稱為死鎖。程序的三態模型 就緒態 leftrightarrow 執行態 to 等待態 to 就緒態 程序的五態模型 建立程序 to 就緒態 leftrightarrow 執行態 to 等待態 to 就緒態 執行態 to ...