C++代碼可視化
回答
爲什麼不只是做手工,這是開始一個大的代碼基礎工作的時候一個很好的學習經驗。我通常只是看什麼類從什麼繼承而來,哪些類包含哪些實例,引用或指向其他類的指針。在你身邊放一張紙並得到繪圖...
一個好的UML工具應該做的伎倆。
這裏是通用的UML工具列表:http://en.wikipedia.org/wiki/List_of_UML_tools
有很多在那裏,都具有不同的功能集。嘗試玩幾個,看看你是否得到你想要的輸出。如果他們免費的失敗,你可能不得不掏出一個良好的商業級的UML工具
你可以嘗試CppDepend,它不會像Doxygen那樣創建類層次結構,但它可以顯示你的項目的'全貌',它也顯示一些代碼度量。
嘗試Source Insight可以在此工具中配置生成的圖形的深度。
而不是去到滿級的設計工具,只需使用「類視圖」,或在Visual Studio中的「對象瀏覽器」 - 他們目前完全摺疊類heirarchies。
你對'主脈'的定義是什麼?你可能需要一個圖形縮減器或者skeletizer(你可以找到或者寫出一個並將它應用於Doxygen和其他產生的東西),或者'主要脈'與代碼的功能有關,並且我不認爲自動化工具可以幫助你。除非你能指出它'這些是做輸入和輸出的重要位,只給我看看距離它們之間的路徑一步或兩步的元素。哼,聽起來像是一個很酷的工具:)
...繼承層次結構,在某種可摺疊的視圖。
再次,一個甜美的想法的工具!
檢查出SourceNavigator,它是開源的,可以在一堆平臺上運行,並且具有層次瀏覽器,類瀏覽器,交叉引用瀏覽器等,可以讓您瀏覽和理解代碼。
我現在使用它一段時間,特別是當我有新的代碼去了解和理解。
我已經與valgrind和kcachegrind做到了最成功。您對您的調試二進制文件運行valgrind,執行您感興趣的任何操作,然後將輸出導入到kcachegrind中,以查看關於誰調用什麼,什麼時候以及何時調用哪些內容。另外,因爲你動態地做它,它捕捉了靜態分析可能不會發生的情況。我使用Enterprise Architect的逆向工程特性也取得了一些成功,儘管這不會很好(但你得到了一個可行的UML模型,這很好!)。
最後,一個名爲「理解」的工具。這在靜態的面向對象分析方面非常出色,但是我覺得它非常昂貴,並沒有被廣泛使用。
對於價格合理的商業產品,您可能想要查看Vizlogix(www.vizlogix.com)中的SolidSX。 (如果您不在北美洲,請轉至SolidSource - www.solidsourceit.com。)
它生成可摺疊和展開的徑向圖。它還與Visual Studio(BSC和.NET)集成。
奇怪和怪誕的:) – bobobobo 2010-04-04 00:45:45
- 1. 可視化OO PHP代碼
- 2. 可視化代碼流的工具(C/C++)
- 3. .NET/Windows代碼可視化api
- 4. Java字節代碼可視化器
- 5. 代碼流可視化軟件
- 6. Java:代碼所有權可視化
- 7. 用於C++代碼可視化的Python模塊
- 8. c#代碼流程圖/可視化工具?
- 9. C#代碼優化
- 10. 優化C++代碼
- 11. 優化C++代碼
- 12. C#優化代碼
- 13. 優化C代碼
- 14. C#:簡化代碼
- 15. 在插入php代碼後,HTML表格變得可視化代表代碼
- 16. 可視化基本密碼
- 17. C#聲音可視化
- 18. C#的算法可視化#
- 19. 音頻可視化器C#
- 20. c#編程代碼優化
- 21. 代碼優化asp.net c#
- 22. 優化客觀c代碼
- 23. 優化此C代碼
- 24. C++源代碼美化(vC++)?
- 25. objective-c代碼格式化
- 26. 如何從我的視圖查詢代碼化數組可視化?
- 27. C代碼格式化/美化工具
- 28. 可視化庫 - AJAX,Flex,Flash,HTML,C/C++
- 29. C#可達代碼檢測
- 30. 從代碼隱藏設置silverlight控件的可視化元素?
我真的結束了火車圖並檢查它。然後我畫了一張新圖。一個有益的經驗! – bobobobo 2009-09-02 05:04:49