目前,我有代碼看起來像這樣C#代碼重構
Status("Start Step 1");
result = Step1();
Status("End Step 1", result);
Status("Start Step 2");
result = Step2();
Status("End Step 2", result);
Status("Start Step 3");
result = Step3();
Status("End Step 3", result);
這將有可能以某種方式重構這個代碼,並擺脫了狀態行。 - 但是在每個步驟的開始和結束時更新狀態非常重要。
我想過將狀態行移入Step1,2,3的調用,但這只是使方法混亂。
創建一個接受lambda表達式的函數(包含Step1,2,3 ...)。用適當的lambda調用該functon;讓它增加一個本地步數,並打印「開始」,做lambda,打印「結束步驟」。 –