前言
在簡單學習Golang
和C++
基礎語法后,我需要閱讀系統源碼,為了更好理解系統架構、系統內部模塊交互和不同業務場景下的數據流,繪制一些簡單流程圖、時序圖和系統架構圖是有必要的。
主要工具:
- process on
- ppt
系統架構圖
最原始的系統架構圖,簡單分層展示不同層次的模塊,加上基礎服務、公共服務和監控服務:
image
加上數據流的系統架構圖:
image
流程圖
簡單業務流程圖:
image
加上接口的流程交互圖:
image
接口交互圖
簡單的多個接口交互邏輯圖:
image
模塊提供的內外部接口和外部依賴:
image
時序圖
image
程序流程圖
梳理并發程序或復雜邏輯程序時可以會用到:
image
算法圖
這部分是用ppt做的,幫助直觀理解算法原理,ppt畫圖的自由度更高
-
boosting
image -
k折交叉驗證
image -
隨機森林
image
總結
作為一個研發菜鳥,在閱讀大型系統的源碼時碰上了很多問題,很多時候并不是語法層面的問題,反而是因為快速迭代開發和系統的龐大性給我梳理系統架構和模塊功能帶來較大的挑戰。
通過簡單繪制系統的架構圖、各模塊之間的接口交互和時序圖等,我可以更加直觀地理解整個系統的運作模式,大概就是所謂的磨刀不誤砍柴工。