Sourcetrail是一個免費和開源的跨平臺源碼資源管理器,幫助你在不熟悉的源代碼上獲得生產力,能夠十分高效的幫助使用者探索、熟悉陌生的代碼,支持 C、C++、Python 和 Java 語言,同時提供了相關 SDK 用于拓展支持其它語言,相信在未來會提供更多語言的支持,程序員在它的幫助下可以快速熟悉陌生項目、學習開源項目、框架等!
軟件介紹
為什么選擇Sourcetrail?
軟件開發(fā)的現(xiàn)實。
作為軟件工程師,我們知道我們有技能和能力來實現(xiàn)我們所有的想法。但有時,這比我們預期的要困難得多。專業(yè)的軟件開發(fā)往往是一個團隊的努力。在團隊中工作使我們能夠解決更難的問題,但這是有代價的。當一個代碼庫增長時,跟蹤每一個增加的內容會變得越來越復雜。因此,越來越多的精力被花在調查當前的實現(xiàn)上,而花在編寫新功能上的時間卻越來越少。新的開發(fā)人員往往要花幾天甚至幾周的時間來瀏覽遺留的代碼,以便在真正成為生產力之前熟悉其實現(xiàn)。
編程語言不是問題。
編程語言是不斷發(fā)展的。它們通過抽象化機器的越來越多的限制來減少軟件開發(fā)者需要記住的開銷。但不管是哪種語言,如果一個項目達到一定的規(guī)模,就很難對源代碼的結構保持一致的心理模型。這里的問題不是語言的抽象性差,而是代碼的信息密度高。源代碼中的每一行都有一個目的,作為軟件開發(fā)者,我們花了大部分時間去尋找那些目前相關的小片段。為什么我們不能退一步,看看組件之間是如何連接的,而不需要不斷地去看代碼的每一個細節(jié)?
我們已經有足夠的代碼編輯器了。
當涉及到寫代碼時,我們有眾多的選擇來適應我們所希望的任何工作流程。更難解決的是我們如何有效地理解一個現(xiàn)有的實現(xiàn)。雖然有很多優(yōu)秀的代碼編輯器,但它們是為寫代碼而設計的,并不是為瀏覽手頭的實現(xiàn)而做的。當然,每個開發(fā)者都有自己的策略來尋找源代碼中的信息,從搜索文檔到查看測試,或者在有機會的時候詢問原作者。但是,當你用盡了所有這些選擇之后,你就不可避免地要在代碼中挖掘了。讓我們面對現(xiàn)實吧--翻閱是大多數(shù)程序員寧愿避免的事情。
計算機知道這一切!
了解你的軟件架構的基本原理不應該那么難??辞宄粋€功能涉及哪些對象,以及它在源文件中的路徑應該是不難的。這一切的有趣之處在于?你的計算機知道這一切。通過使用編譯器或解釋器,你的計算機已經知道了語言的工作方式。它知道存在哪些范式,而且因為它正在將你的源代碼變成可執(zhí)行指令;它知道整個代碼庫中的每一個信息,包括:函數(shù)在哪里被調用,類型如何被實例化,變量在哪里被改變。到目前為止,獲取這些信息對我們開發(fā)人員來說是很麻煩的,但有了Sourcetrail就可以輕松實現(xiàn)。
認識一下Sourcetrail,交互式源代碼瀏覽器!
我們希望你能認識一下Sourcetrail,這是一款輕量級的代碼可視化工具,專門用于在源代碼中進行快速而全面的導航。Sourcetrail利用軟件可視化,動態(tài)生成任何選定類型、函數(shù)、變量等的交互式代碼圖,并顯示它們與代碼庫其他部分的所有依賴關系。但是,僅靠花哨的代碼可視化或類圖并不能使你真正理解任何源代碼。這就是為什么Sourcetrail也會在可視化的同時顯示相關的代碼片段。最后,該軟件包由一個強大的代碼搜索算法完成,可以讓你盡可能快地入門。Sourcetrail縮短了閱讀源代碼的時間,讓你有更多的時間花在你作為一個軟件開發(fā)者真正喜歡做的事情上。今天就開始使用Sourcetrail吧!
功能介紹
它是如何工作的
1 為您的源代碼編制索引
Sourcetrail的深入靜態(tài)分析可以找到你的源代碼文件中的所有定義和引用。要啟動靜態(tài)代碼分析器,你可以導入現(xiàn)有的構建配置或選擇手動項目設置。
2 查找任何符號
使用Sourcetrail的搜索欄可以快速找到整個代碼庫中的任何符號。模糊的代碼搜索引擎只需敲幾下鍵盤就能給你提供最佳匹配。
3 視覺上探索依賴關系
圖形可視化提供了對任何感興趣的類、方法、字段等及其所有關系的快速概述。依賴關系圖是完全互動的。通過關注相關的節(jié)點和邊,使用它在代碼庫中移動。
4 瀏覽你的源代碼
最后,代碼視圖在一個排列整齊的代碼片斷列表中保存了焦點元素的所有實現(xiàn)細節(jié)。進一步檢查作用域和突出局部變量,或關注任何其他遇到的引用或元素。
5 連接你的源代碼編輯器
通過插件將Sourcetrail與您喜愛的源代碼編輯器同步。這樣就可以在編寫和探索之間輕松切換。請看我們支持的編輯器列表。