我必須執行中等大小代碼塊的重構(< 200K LOC)。範圍非常溫和:重命名一些類,在類層次結構上下移動一些嵌套的定義,刪除不用的東西。生成C++重構腳本
手動完成這項工作相當簡單,但我們必須從舊代碼庫中選擇一兩年的錯誤修復,並且項目將改變現有代碼中至少一半的行。
所以,我打算將這些更改表示爲一系列縮進(假定爲astyle),sed腳本和另一個縮進。
我的計劃是:手工完成轉換,然後開發sed腳本,以獲得相同的結果。前面的部分很清楚,但手動開發sed腳本似乎並不特別吸引人,但我沒有更好的主意。
請幫忙。
解析C++是* hard *,這意味着,除非有問題的代碼是*非常規,否則這將是一個艱難的難題。 – dmckee 2011-03-26 00:09:29
感謝您的回覆。結果我選擇了簡單的方法:(1)使用抽象接口將我們期望開發活動的部分與核心部分隔離開來;(2)重構核心;(3)將隔離部分連接到新核心;(4)維護(5)在覈心部分和非核心部分進行手動合併以修正錯誤。作爲獎勵,我們可以並行執行一些重構絕緣部件。 – zzz777 2011-03-31 16:51:07