1. 先看官方文件和架構圖
優秀的開源元件官方都會維護文件和架構圖,這份架構圖上或許有一些最重要的元件之間的關聯關係、或許哪些功能的呼叫流程、或許有一些別的東西,但是相信我,這些東西一定都是從總體來描述這個專案的,這個一定是你要閱讀原始碼時第乙個要看的
2. 再看專案的組織結構
3. 找到啟動demo,把專案跑起來
閱讀原始碼不僅僅是閱讀,要讓專案跑起來,去除錯它,去觀察和改變它的執行路線
4. 找到閱讀的起點
很多人都想閱讀原始碼,但是面對龐大的**庫不知道如何下手。這個時候你就要明確你的目標。可以從啟動方法開始、也可以從具體的哪個功能開始。總之要找到你的起點
5. 理清主幹
乙個優秀的開源軟體總是經過了很多任務程師很多年的努力孵化出來的,你去閱讀它的時候很難把整個軟體全部都整明白。所以一定要認準自己的目標,朝著自己的目標去讀,當過程**現一些不太重要的分枝時可以適當的忽略來節約時間
6. 把你的結論記下來
好記性不如爛筆頭,我們從小就知道的一句話。包括卻不限於筆記、流程圖、截圖等任何你擅長的工具,把它記下來。另外,最好總結一下重點部分方便面試的時候快速複習
7. 閱讀時使用的小技巧
檢視類的繼承體系
快捷鍵:ctrl h
檢視方法的呼叫層級
優秀的原始碼往往呼叫層級很深,當你debug到某個點卻忘掉了怎麼進來的或者說不知道哪個地方呼叫了這個方法,只需要在方法名上使用ctrl alt h
即可檢視這個方法的呼叫層級
檢視類uml圖
當使用ctrl alt shift u
會在新的標籤頁中展示當前類的uml繼承圖
使用uml圖形展示看起來更舒服更全面
支援手動排除不相關的類和介面
支援展示類的屬性和方法等相關資訊
當你僅僅只關注uml圖時還可以使用ctrl alt u
在當前標籤頁浮動顯示乙個圖層
debug時修改變數
當你在debug的時候可以使用alt f8
喚起這個介面
當存在很多分支的時候修改某個變數來改變**執行的邏輯
不確定某句**結果時可以直接在文字框輸入,而不需要再次重啟程式
記住上方這7點,相信你會變得更加優秀,而我則使用這7點在乙個月的時間閱讀了spring的原始碼spring原始碼解析系列彙總
hive你不知道的操作有哪些
show functions 顯示hive當前的會話有多少函式可以使用 desc function concat 顯示concat函式的描述資訊 desc function extended concat 顯示如何使用concat函式等 show create table tablename 顯示當...
異地多活有哪些你不知道的坑
異地多活 看起來就是這樣乙個萬能的大殺器,很多人理想中認為只要實現了 異地多活 不管是紐奧良水災,美加大停電,藍翔挖掘機。等等都不再是問題。不過,事實上,作為乙個解決方案,異地多活是否最終有效,既取決於實施方如何去使用方案如何去設計 千萬不要以為撿到倚天劍就是武林盟主 也取決於工具方案本身還有哪些不...
宣傳片製作,你不知道的重點有哪些
宣傳片製作,你不知道的重點有哪些 企業宣傳片要突出主題和把握主題。作為乙個企業的新 名片 企業宣傳片的製作一定需要是嚴扣主題的。其中的素材 於各方各面,但是一部優秀的企業宣傳片並不是素材簡單的拼湊,而是需要拍攝和後期人員對素材進行整合和加工,從而挖掘出最有代表力和表現力的鏡頭,同時將藝術手法形式融入...