最近協助前單位做的專案,由於舊系統過多,經過一個月仍然停留在瞭解舊系統的階段。這幾天想起十幾年前學到的一個術語:RTFM。
事實上,一個系統經過幾次的修改後,已經多少與原始設計不同,RTFM還不如RTFS。這個專案是敝公司第一次與該公司合作,其他的舊系統均為其他廠商所開發,因此取得源碼亦有困難,多半只拿到簡單的系統手冊與不一定能執行的二進位碼,某些系統連資料庫都不肯給,只給DB Schema的文件。
這幾天優秀長官要鳥毅看一個重要系統的asp,由於只有asp而缺乏可用的DB與VB 6 dll 源碼,讀起來非常痛苦。事實上,如果是可執行的系統,慢慢地trace或許可以找出脈絡。以這個重要系統為例,手上的文件只有操作手冊與DB schema,對於系統分析與設計除了介面外幾乎沒有幫助。但是仔細深入源碼後,卻發現asp內部與許多其他系統連結,而且源碼經過幾個人的修改,以風格及命名方式看來,應該是一間以上外包公司的傑作。
最近又得知為符合法規修正,此系統又要修改。這種時候若得不到客戶的幫助,我只能說:砍掉重練比較快。
當然大部分的長官不會同意全部重寫,因此在這種情況下需要3rd party的協助,我找到Source Insight這個工具,可以試用30天,所以... 小華說SlickEdit也不錯,不過時間有限,所以只試用Source Insight。結果當然不出所料,對於這種近乎純網頁的asp,又大量利用script轉址,Source Insight或SlickEdit根本找不到連結,所以畫不出call graph,其他的API之類就更別提了。
可預見的未來,這個系統一定會砍掉重練,只是遲早的問題。
事實上,一個系統經過幾次的修改後,已經多少與原始設計不同,RTFM還不如RTFS。這個專案是敝公司第一次與該公司合作,其他的舊系統均為其他廠商所開發,因此取得源碼亦有困難,多半只拿到簡單的系統手冊與不一定能執行的二進位碼,某些系統連資料庫都不肯給,只給DB Schema的文件。
這幾天優秀長官要鳥毅看一個重要系統的asp,由於只有asp而缺乏可用的DB與VB 6 dll 源碼,讀起來非常痛苦。事實上,如果是可執行的系統,慢慢地trace或許可以找出脈絡。以這個重要系統為例,手上的文件只有操作手冊與DB schema,對於系統分析與設計除了介面外幾乎沒有幫助。但是仔細深入源碼後,卻發現asp內部與許多其他系統連結,而且源碼經過幾個人的修改,以風格及命名方式看來,應該是一間以上外包公司的傑作。
最近又得知為符合法規修正,此系統又要修改。這種時候若得不到客戶的幫助,我只能說:砍掉重練比較快。
當然大部分的長官不會同意全部重寫,因此在這種情況下需要3rd party的協助,我找到Source Insight這個工具,可以試用30天,所以... 小華說SlickEdit也不錯,不過時間有限,所以只試用Source Insight。結果當然不出所料,對於這種近乎純網頁的asp,又大量利用script轉址,Source Insight或SlickEdit根本找不到連結,所以畫不出call graph,其他的API之類就更別提了。
可預見的未來,這個系統一定會砍掉重練,只是遲早的問題。
留言