全網最適合入門的物件導向程式設計教程:13 類和物件的 Python 實現-視覺化閱讀程式碼神器 Sourcetrail 的安裝使用
摘要:
本文主要介紹了視覺化閱讀程式碼神器Sourcetrail的安裝與使用,包括軟體簡介和特性、下載地址、安裝方式、新建工程和如何檢視分析原始碼,同時簡單介紹了PyCharm中Sourcetrail外掛的使用。
原文連結:
FreakStudio 的部落格
往期推薦:
學嵌入式的你,還不會物件導向??!
全網最適合入門的物件導向程式設計教程:00 物件導向設計方法導論
全網最適合入門的物件導向程式設計教程:01 物件導向程式設計的基本概念
全網最適合入門的物件導向程式設計教程:02 類和物件的 Python 實現-使用 Python 建立類
全網最適合入門的物件導向程式設計教程:03 類和物件的 Python 實現-為自定義類新增屬性
全網最適合入門的物件導向程式設計教程:04 類和物件的Python實現-為自定義類新增方法
全網最適合入門的物件導向程式設計教程:05 類和物件的Python實現-PyCharm程式碼標籤
全網最適合入門的物件導向程式設計教程:06 類和物件的Python實現-自定義類的資料封裝
全網最適合入門的物件導向程式設計教程:07 類和物件的Python實現-型別註解
全網最適合入門的物件導向程式設計教程:08 類和物件的Python實現-@property裝飾器
全網最適合入門的物件導向程式設計教程:09 類和物件的Python實現-類之間的關係
全網最適合入門的物件導向程式設計教程:10 類和物件的Python實現-類的繼承和里氏替換原則
全網最適合入門的物件導向程式設計教程:11 類和物件的Python實現-子類呼叫父類方法
全網最適合入門的物件導向程式設計教程:12 類和物件的Python實現-Python使用logging模組輸出程式執行日誌
更多精彩內容可看:
給你的 Python 加加速:一文速通 Python 平行計算
一文搞懂 CM3 微控制器除錯原理
肝了半個月,嵌入式技術棧大彙總出爐
電子計算機類比賽的“武林秘籍”
一個MicroPython的開源專案集錦:awesome-micropython,包含各個方面的Micropython工具庫
文件和程式碼獲取:
可訪問如下連結進行對文件下載:
https://github.com/leezisheng/Doc
本文件主要介紹如何使用 Python 進行物件導向程式設計,需要讀者對 Python 語法和微控制器開發具有基本瞭解。相比其他講解 Python 物件導向程式設計的部落格或書籍而言,本文件更加詳細、側重於嵌入式上位機應用,以上位機和下位機的常見串列埠資料收發、資料處理、動態圖繪製等為應用例項,同時使用 Sourcetrail 程式碼軟體對程式碼進行視覺化閱讀便於讀者理解。
相關示例程式碼獲取連結如下:https://github.com/leezisheng/Python-OOP-Demo
正文
這裡,我們可以使用 Sourcetrail 軟體對程式碼進行視覺化閱讀。Sourcetrail 是一個免費開源、跨平臺的視覺化原始碼探索專案,可以使用圖形直觀地表示了呼叫上游和下游,類成員列表等等細節,使得理解原始碼的結構變得很容易。下圖是我們用 Sourcetrail 分析示例程式碼得到的圖形化類圖,可以很容易的看出 SerialClass 和 SensorClass、MasterClass 間的繼承關係以及每個類的方法和屬性:
關於 Sourcetrail 的下載安裝可以檢視:
https://github.com/CoatiSoftware/Sourcetrail/releases
我們選擇 Sourcetrail_2021_4_19_Windows_64bit_Installer.zip 版本進行下載,下載安裝包解壓後,可以看到有一個 msi 檔案,雙擊安裝即可:
如果安裝過程中遇到錯誤程式碼 2053 提示,檢視以下連結解決:
https://zhuanlan.zhihu.com/p/356008224
接下來我們來看如何用 sourcetrail 分析原始碼,開啟 sourcetrail 軟體,首先點選新建工程:
接著填寫專案名稱和需要解析檔案的地址:
接著點選新增原始碼組:
選擇 Python 檔案,建立空的原始碼分析組,點選 next:
按照下圖所示填寫資訊即可:
這裡,使用虛擬環境的同學可以使用 conda env list 獲取虛擬環境直譯器位置:
配置好後點選建立:
開始建立,注意一定要勾選 shallow python index 選項,點選開始:
這裡,可以看到我們的分析結果,Sourcetrail 將解析結果按“檔案”、“模組”等大致分了類,可以極大便利我們閱讀他人程式碼的工作。點選 classes:
可以看到我們檔案中包含哪些類:
點選 SerialClass 類可以看檢視屬性和方法,右邊有對應原始碼:
點選任意方法,可以看到該方法的呼叫情況:
專案中的符號都可以點選,支援來回跳轉,還支援模糊搜尋。左側原始碼結構非常清晰,對於熟悉陌生程式碼結構非常有用。
我們也可以在 Pycharm 中安裝外掛 idea-sourcetrail 與其配合使用,sourcetrail 支援跟你喜歡的程式碼編輯器連結,在編輯器中右鍵,就能啟用 sourcetrail 檢視上下視覺化內容。當然也可以反過來,在 sourcetrail 中點選,直接可以在編輯器中編輯該檔案。
點選安裝並應用,重啟 IDE。具體使用可以參考:
https://cloud.tencent.com/developer/news/594864
Sourcetrail 還可以與其他編輯器連結,比如: Atom, Clion, Eclipse, Emacs, IntelliJ IDEA 等等。還有更多功能可以參見官方文件:
https://www.sourcetrail.com/python/
實際上這類原始碼分析工具還有很多,比如 Source Insight 和 Understand。