我最近收到了一些相對重要的功能,以補充某些我從某人處維護的軟件。不幸的是,他並沒有提供diff,而只是給了我他的整個源代碼樹,而且更糟糕的是,他似乎使用了某種代碼優化器,這種代碼優化器遠遠超出我以前使用或看到的任何東西,包括諸如獲取兩個重新格式化的C文件之間的差異
- 插入和刪除行內各點的空格。
- 將一些條件分解爲括號內的塊,將一些條件轉換爲單行條件,並將一些條件轉換爲換行符但不包含括號。
- 將某些組合語句移到單獨的行中,並將一些單獨的語句組合成單行。
- 在函數參數等位置插入和移除換行符。
- 等
運行在從他的版本的文件,縮進(BSD)和舊版本不帶他們彼此接近。使用astyle也不能很好地工作。無論哪種情況,仍然有不少格式化風格的殘餘。
是否有任何C格式化程序會基本上刪除儘可能多的格式,然後一致地格式化代碼?或者有什麼辦法讓格式化程序來做到這一點?它不需要看起來非常好,我只需要能夠得到一個合理的差異,以便我可以看到他實際上改變了什麼。
你可以把它發回給他,並要求他遵守現有的格式標準? – kubi 2011-03-02 21:33:43
或者獲取hin給兩個checkins原始代碼重新格式化爲他,然後更改 – Mark 2011-03-02 21:35:17
作爲警告他人閱讀此內容,或者考慮重構他們稍後會在某處提交的代碼:事實證明,這對我們來說是最簡單的*完全重新執行*從頭開始的工作,完全無視他的貢獻,因爲要確切地發現他的版本中發生了什麼變化,實在太難了。 – cge 2015-02-28 05:07:58