2011-09-13 44 views
0

我們使用pl sql開發人員,每個開發人員都使用自己的美化工具。即逗號在某些行的末尾,有些則在行首時顯示。pl sql文件在Diff工具中比較

現在誰最後在文件中檢查,代碼是在他的美化。對於稍後退房的人員,如果此人有不同的美化規則並比較文件,則diff工具會將每件事情都顯示爲diff。

例如。本地代碼

 .... 
     Line1, 
     Line2, 
     .... 

和代碼庫(與不同的美化規則檢查中)

 .... 
    ,Line1 
    ,Line2 
    ..... 

雖然代碼是相同這裏的差異工具假定代碼的逗號的位置不同怎麼一回事,因爲並顯示所有這些線旁邊有紅色標記。很難從這些不真實的代碼更改中找出真正的代碼更改。

有什麼我們可以做的避免或是否有工具可以做pl sql diff。 任何指導都非常適合。謝謝。

回答

1

查看我們的Smart Differencer工具系列。

這些工具通過比較代碼的結構(而不​​是格式)來工作。他們使用編譯器準確的解析來讀取源代碼,並構建抽象語法樹;比較樹木,而不是文字。因此,任何格式化,佈局,交錯註釋,基數變化或不同但等同的字符串轉義都將被忽略。 根據語言結構(變量,表達式,語句,塊,聲明等)和合理的編輯操作(移動,複製,插入,重命名變量等)返回差異。

OP的例子會顯示「沒有變化」。

這些工具可用於各種常用的編程語言及其方言。雖然網站可能不會顯示我們對PL/SQL有這個功能,但事實上我們確實如此。在網站詢問。

作爲一種替代方案,您可以在運行傳統diff之前在兩個源上運行美化工具。這將主要工作,但你仍然會絆倒註釋,數字基數和等效字符串轉義差異。你也可能不相信美化者;這可能是虛假分歧的來源。 (我們也有PL/SQL漂亮打印機,它們使用相同的編譯器準確的解析和編譯準確的重新生成,也就是說它們值得信賴)。