<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          工具需用好,閱讀源碼沒煩惱

          共 1893字,需瀏覽 4分鐘

           ·

          2020-09-30 14:22

          文 |?軒轅御龍

          來源:Python 技術「ID: pythonall」

          每當我們接手一個新項目時,面對龐雜的模塊、繁復的代碼,想必心情是非常絕望的,“這都特么啥呀?”

          如果你也有這樣的煩惱,那你就應該看這篇文章。

          我們閱讀源碼的一大煩惱在于,項目代碼中存在著各種各樣的調(diào)用,而我們的大腦卻沒辦法像計算機一樣完好地維護一個動態(tài)的調(diào)用鏈;時常發(fā)生的情況就是一頭扎進了源碼中,然后——

          “我是誰?我在哪兒?我為什么要在這兒?”

          顯然,作為一個地道的程序員,這個時候應該想到借助工具了。

          再根據(jù)軟件界第一定律“99%的工作都是別人做過的”,于是我們大可以拿來主義一把,琢磨琢磨是不是已經(jīng)有人做了這樣的工具。

          說到這里可能很多同學已經(jīng)想到了一個被局部稱為“世界第一編輯器”的軟件——Source Insight。(然后看了看正版價格就灰溜溜滾回了Google)

          然后還有強大的Understand,付費環(huán)節(jié)還比較繁瑣,暫時pass。

          直到我們在V2EX看見有同學推薦了一款名為Sourcetrail的開源軟件。

          下載安裝

          打開軟件官方網(wǎng)站,可以看到一個很簡潔的頁面,直截了當?shù)馗嬖V你它是哪條道上的四年級老大哥:Sourcetrail就是為你閱讀陌生源碼賦能的。同時還免費、開源、跨平臺……h(huán)áo嘛,今年幾大紅火要素都占齊活兒了,不撈一把都說不過去。

          01

          接下來就是download,在GitHub的release頁面選擇自己系統(tǒng)對應的發(fā)布版本下載安裝:

          02

          具體的安裝步驟與其他應用相比大同小異,就不再贅述了,否則這篇文章也太水了點

          03

          軟件介紹

          安裝好后,運行程序,會出現(xiàn)這樣的界面:

          04

          我們選擇“New Project”,在隨后的界面中填寫好項目名稱和項目路徑:

          05

          填好后點擊下方的Add Source Group按鈕,用以添加代碼。

          ——在Sourcetrail中允許我們在同一個項目中添加多個來源的代碼,甚至允許各個代碼分組的語言互不相同,這些代碼分組即為各個Source Group。

          由于我們只需要查看一個代碼庫的內(nèi)容,因此我們也只需要添加一個Source Group即可,如下圖依次點擊:

          06

          在繼續(xù)輸入新的信息前,打開你的命令行工具(Windows系統(tǒng):Win+R,輸入cmd然后回車;Linux下不贅述),輸入where python(Windows)或which python3(Linux),即可看到當前環(huán)境的Python安裝路徑,記下這個路徑,我們需要用它來解析Python代碼。

          然后在新的界面中,需要填寫Python環(huán)境的字段填入剛剛我們查到的Python所在目錄(即去除最后一個斜杠及之后的內(nèi)容)。

          其他的需要注意的就是“要建立索引的文件/目錄”,這個字段就是添加我們真正要閱讀的Python源碼路徑。字段左下角有一個“+”號,點擊即可增加一個源碼路徑:

          07

          原本是想把Python之父龜叔多年前寫的爬蟲程序作為示例的,奈何網(wǎng)絡不給力,遲遲拉取不下源碼,于是另外找了一份開源項目“北京實時公交”替換之。

          點擊右下角“Create”,再點擊“Start”:

          08

          解析就開始了:

          09

          再點擊“OK”:

          10

          得到下圖的解析結果:

          11

          可以看到,Sourcetrail將解析結果按“文件”、“模塊”等大致分了類。

          我們點擊最關心的“函數(shù)(Function)”來體驗一下:

          12

          在左邊,Sourcetrail為我們生成了形象的調(diào)用圖;在右邊,Sourcetrail列出了當前焦點函數(shù)的代碼及其相應調(diào)用。

          無論在左邊操作還是在右邊操作,都會帶來界面的同步變化。

          從此我們再也不必苦哈哈地在A4紙上寫下繁瑣的調(diào)用關系了哈哈哈哈,翻身農(nóng)奴把歌唱

          13

          總結

          本文介紹了一個可以把源碼調(diào)用關系可視化的工具,可以極大便利我們閱讀他人代碼的工作。實際上這類工具還有很多,比如Source Insight和Understand。

          只要是能夠提升我們學習/開發(fā)效率的,我們都應該樂于嘗試。后續(xù)我們還會推薦一些這類實用的工具,希望可以幫助大家升職加薪[手動滑稽]。

          PS公號內(nèi)回復「Python」即可進入Python 新手學習交流群,一起?100 天計劃!


          老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下如果感覺文章內(nèi)容不錯的話,記得分享朋友圈讓更多的人知道!

          代碼獲取方式

          識別文末二維碼,回復:200929


          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一区二区专区无码 | WWW.成人大香蕉网 | 在车上内射91视频 | 久久精品视频观看 | 直接能看的黄色片网址 |