天天看點

想要閱讀一些開源項目或架構的源代碼,不知道從哪裡入手?

有個朋友在知識星球上向我提問。

我的建議是從Spring的源代碼入手。至少我自己也是這麼做的,畢竟Spring裡有大量的設計模式和OO程式設計的最佳實踐。我之前在SAP使用SAP自己的開發語言ABAP進行日常工作,後來因為工作原因也需要用Java開發。雖然SAP之前大多數産品都是基于ABAP開發的,但是現在公司在向雲轉型,越來越多的雲産品是基于Java Spring來開發了。我覺得Spring 5年之内都不會過時,值得程式員花力氣去鑽研。

請閱讀知乎問題: 學習spring源碼的意義是什麼呢?

然後怎麼去學Spring呢?如果一頭紮進Spring的代碼海洋,肯定就直接淹死了。

我的兩個方法:

1. 邊看書邊看源代碼。

我看的是這本書,邊看書,邊自己寫讀書筆記。

如果發現自己提筆卻表達不清楚某個知識點,說明這個知識點自己其實還未真正了解,那麼再回過頭去看書。

下面是我寫過的一些讀書筆記:

Manage your test case with @SuiteClasses

How does @Autowired work in Spring framework

Run only given sets of your unit test via @Category

Use @Rule to define custom rules for your test method

How does annotation @Cacheable work

A simulation of Java Spring dependency injection annotation @Inject in ABAP

2. 邊看源代碼邊自己寫代碼,調試代碼

自己用Spring搭一個Hello World的應用,然後一點點往上添東西。可以參考我的這個Github Repository裡的commit記錄看我是如何添加新的功能的。

不斷寫代碼,調試代碼,把自己學到的新東西寫出來。

為什麼要寫出來呢?

在我的微信公衆号文章SAP成都研究院35歲以上的開發人員都去哪兒了?裡提到,科學研究表明,在實戰中學習,教别人,是最有效的學習方法。