今天配合bk修改介面,將sysset裡面有用到的函式都改完了,具統計sysset也才僅僅"65"個要改介面的地方,但就搞了我一個下午,才剛剛進 入測試而已。原本看起來只是要換一下函式而已,就像更名一樣,嘿嘿!改第一個,就明顯的體會出沒那麼簡單,除了要找到對應的函式,裡面所該帶的函式也要 稍稍想一下,有時不是一眼就看得出來到底該帶那一個參數,上下程式碼要稍微看一下,就算sysset我幾乎改過一半以上,在改的時候也會稍微猶豫一下。 果不其然,全部修改完成後,編譯後,開始測試時,果然輕易發現一個bug,天知道還有多少bug藏在裡面。有時候某些函式只是特殊的檢查機制,只在特定 時候才可能發生,有可能出了一兩個版本才會發現吧。嘿嘿!最近又找到一個至少是180版本之前就存在的bug,這種bug可是四處存在的。我可以想 像,IMMain此版bug爆增的慘狀了。
這是我改完的建議,是類似這種重構,應該正式的排入時程,而且時程還短不得,正常來講應該是改一個測試一個,而且像這次是多介面轉成同一介面的,要帶入 適當的參數,程式碼有時要還要稍微理解一下,可不是簡單的替換,如果以改一個測試一個來說,一個大概平均也要十分鐘吧,那麼sysset要650分鐘, 也就是大約11個小時,1個半天,當然這是最佳狀況,如果從與熊共舞所提出奈米完成度來看,大概乘以2是合理認為70%有可能達成的機會。所以 sysset光改介面應該可以排三天吧。不知道IMMain要排多久?
其實我有另一個想法,應該先開新介面,將舊介面先轉藉到新介面上,等於是說舊介面底子是用新介面的函式,先看看運行是否有問題,沒問題的話,就可以利用 舊介面轉藉新介面的原理一對一對轉,也就不用一個一個測試了。這是重構那本書提供的作法。 不過如果依重構的正常作法來說的話,得先預想所有測試案例,對每次重構都得保證和原來程式運算出來的結果需一致,當然我們是沒有作這種事。重構的兩難是 沒有新增新功能,看不出實際的效果,但他的確會把系統架構改的更好,但所花的時間並沒有想像中的少,尤其花在測試的時間。
這是我改完的建議,是類似這種重構,應該正式的排入時程,而且時程還短不得,正常來講應該是改一個測試一個,而且像這次是多介面轉成同一介面的,要帶入 適當的參數,程式碼有時要還要稍微理解一下,可不是簡單的替換,如果以改一個測試一個來說,一個大概平均也要十分鐘吧,那麼sysset要650分鐘, 也就是大約11個小時,1個半天,當然這是最佳狀況,如果從與熊共舞所提出奈米完成度來看,大概乘以2是合理認為70%有可能達成的機會。所以 sysset光改介面應該可以排三天吧。不知道IMMain要排多久?
其實我有另一個想法,應該先開新介面,將舊介面先轉藉到新介面上,等於是說舊介面底子是用新介面的函式,先看看運行是否有問題,沒問題的話,就可以利用 舊介面轉藉新介面的原理一對一對轉,也就不用一個一個測試了。這是重構那本書提供的作法。 不過如果依重構的正常作法來說的話,得先預想所有測試案例,對每次重構都得保證和原來程式運算出來的結果需一致,當然我們是沒有作這種事。重構的兩難是 沒有新增新功能,看不出實際的效果,但他的確會把系統架構改的更好,但所花的時間並沒有想像中的少,尤其花在測試的時間。