原始碼如何去學?

時間 2021-05-30 11:56:50

1樓:我好愛學習啊

想學原始碼的話,可以去原始碼學院看看,我聽過他們的公開課,老師講的挺不錯的,乾貨也多,據說老師都是從大廠裡面出來的,很有經驗,目前我還在學習中

2樓:路人甲的世界

在讀原始碼之前要確保你已經知道了這個軟體的『幾乎』所有細節與使用方法。如果軟體過於複雜,就唯讀你了解的那部分模組。

邊讀邊寫注釋。

使用諸如IDEA、Clion、Visual Studio等現代化IDE進行閱讀,便於快速跳轉、反查、全文搜尋、Debug(也可以使用專門的原始碼閱讀工具例如Understand)。

如果原始碼可以在本地進行編譯/執行,可以使用上文所述IDE進行Debug,或使用GDB等高階工具進行Debug,了解每個流程中物件、變數等狀態的改變。

隨時問自己三個問題:為什麼這個地方要這麼設計?如果不這麼設計會有什麼問題?是否還有更好的設計?

3樓:

學會畫類圖、流程圖、狀態轉換圖...,來分析類與類之間的關係、程式的執行流程、乙個類內部的狀態什麼時候發生變化。強烈建議學習下PlantUml ,語法簡單,畫出來的圖簡潔,重點是便於修改,一些Markdown軟體(比如我最喜歡的Typora)都有支援puml。

下面是官網乙個最簡單的例子

@startuml

Alice -> Bob: Authentication Request

Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request

Alice <-- Bob: Another authentication Response

@enduml

怎麼閱讀Spring原始碼?

tageerxing Spring框架之beans原始碼完全解析 Spring框架之AOP原始碼完全解析 Spring框架之jdbc原始碼完全解析 Spring原始碼深度解析之資料庫連線JDBCSpring框架之jms原始碼完全解析 Spring框架之事務原始碼完全解析 Spring原始碼深度解析之...

Redis原始碼中hyperloglog結構的實現原理是什麼?

程式設計師歷小冰 具體可以看一下這篇文章 使用者日活月活怎麼統計 Redis HyperLogLog 詳解 基本原理 HyperLogLog 是一種概率資料結構,它使用概率演算法來統計集合的近似基數。而它演算法的最本源則是伯努利過程。伯努利過程就是乙個拋硬幣實驗的過程。拋一枚正常硬幣,落地可能是正面...

看caffe和tensorflow原始碼用什麼IDE?

Jiang XIAO Clion Bazel外掛程式,但構建過程有些坑,可以參考 Clion構建Tensorflow原始碼工程 sketch2sky Yan Ni CLion build 2016.3.5 Bazel Plugin IntelliJ with Bazel 環境 前者是Jetbrain...