我已經接管了一個龐大的代碼庫,並想了解如何以及在何處使用某些類和它們的方法。有沒有可視化模板/類方法及其用法的工具?
是否有任何好的工具,可以以某種方式可視化的依賴關係,並繪製一個很好的調用樹或類似的東西?
如果這有助於縮小任何選擇範圍,則代碼在Visual Studio中使用C++。
我已經接管了一個龐大的代碼庫,並想了解如何以及在何處使用某些類和它們的方法。有沒有可視化模板/類方法及其用法的工具?
是否有任何好的工具,可以以某種方式可視化的依賴關係,並繪製一個很好的調用樹或類似的東西?
如果這有助於縮小任何選擇範圍,則代碼在Visual Studio中使用C++。
這裏有幾個選項:
最後一個,Doxygen的,更多的是一種自動文檔工具,但它能夠生成依賴圖和繼承圖。它也是根據GPL許可的,不像前兩種不是免費的。
在Java中,我將從JDepend開始。在.NET中,使用NDepend。不知道C++。
大衛,謝謝你的建議。我花了整個週末來試用這些程序。
Doxygen似乎是3中最全面的,但它仍然留下一些關於方法調用者的東西。
所有3個似乎都有不同程度的C++模板問題。 CC-Rider只是在分析過程中崩潰,CodeDrawer沒有顯示出很多關係。 Doxygen工作得很好,但它也沒有發現和顯示所有的關係,而是用大量的宏引用讓我感到不知所措,直到我將它們過濾掉。
因此,也許我應該爲最終的其他建議澄清一下「大代碼庫」:>總共100多行代碼遍及100多個模板文件以及幾個實際的類文件,將它們放在一起。
那裏有任何其他工具,這可能是最好的任務,並可以做得更好(更徹底)?哦,特別是:任何理解IDL和COM接口的東西?
當我使用Doxygen時,它產生了一個完整的呼叫者和被呼叫者列表。我認爲你必須打開它。
當我使用Doxygen時,它產生了一個完整的呼叫者和被呼叫者列表。我認爲你必須打開它。
我這樣做當然,但就像我提到的,doxygen不考慮對象之間的接口,因爲它們是在IDL中定義的。它「僅」顯示直接的C++調用。
不要誤解我的意思,它的功能已經非常棒,但從高層的角度來看,它仍然不完整,試圖很好地理解所有東西如何結合在一起。