想必看過Java源碼的碼農(nóng)都想過,源碼注釋都是英文怎么看,源碼的好多方法看不到效果,不知道怎么更好解讀源碼,體會作者的設(shè)計意圖。
下面LZ將帶你來以正確的姿勢解讀源碼:
基本思路:
拿到一個Java類,我們應(yīng)該怎么分析呢?首先我們先從類的名稱入手,見文知意,一般外國人定義還是比較直接的。進(jìn)而推測這個類的作用是什么,然后來考慮這個類是怎么實現(xiàn)這樣的功能的。
LZ認(rèn)為他主要是依靠這些輔助的東西來實現(xiàn)強(qiáng)大的功能的:
1、繼承類,實現(xiàn)類。
2、內(nèi)部類,輔助主類來完成相應(yīng)的功能。較多的內(nèi)部類是某種數(shù)據(jù)結(jié)構(gòu)。
3、構(gòu)造函數(shù),如何進(jìn)行類的創(chuàng)建和構(gòu)造。
4、屬性,來標(biāo)記類中固有的一些性質(zhì)或者狀態(tài)。
5、方法,類中的核心元素。如果說屬性是靜態(tài)的,那么方法就是動態(tài)的,從而去實現(xiàn)類中的具體功能。
我們了解到如何解析一個Java的類之后,那么我們就可以來進(jìn)一步的進(jìn)行源碼的解讀。
對于拿到的源碼,我們可以一邊注釋,一邊過類中實現(xiàn)重要功能的方法。如果有些方法無法直接讀懂其中的意思,也不知道具體的一些參數(shù),或者操作是如何進(jìn)行的。難么我們就可以進(jìn)行debug調(diào)試方法,在調(diào)試的過程中,可以對方法進(jìn)行注釋和添加自己的一些解析,從而加深自己的認(rèn)識。如果某些方法無法調(diào)試或者無法理解,那么我們可以來模擬一個簡單的業(yè)務(wù)場景,繼承或者實現(xiàn)這個類或接口,進(jìn)而在應(yīng)用中來更好的理解該方法的用處。
一切源自于生活,我們在解讀源碼的同時,可以通過生活中簡單的業(yè)務(wù)場景,來對源碼的功能進(jìn)行代碼的實例化,再加入自己的理解,更好的認(rèn)識源碼,更好的理解作者的設(shè)計意圖,方便自己以后在工作中更好的靈活運用。
在以后的日子,LZ會以上文的源碼解讀方式來跟大家一起分享Java中的各種優(yōu)秀源碼,有什么理解不對的地方,請大家多多指教。
在帝都打拼的struggle&小青年。喜歡的可以點贊哦!
一帆風(fēng)順只是希望,
逆水行舟才是生活。
加油,boy!