Java的項(xiàng)目經(jīng)驗(yàn)要怎么積累呢?
由小到大、由大到小、反復(fù)多次
由小到大
找對(duì)項(xiàng)目很重要,首先你要對(duì)自己有清晰的認(rèn)知,自己現(xiàn)在處在java學(xué)習(xí)的什么階段,如果你處在初學(xué)階段,那么就找一些小項(xiàng)目先看,比如說(shuō)圖書(shū)管理系統(tǒng),這樣容易理解,看完之后你會(huì)有所收獲,增加自己的成就感。
如果你一上來(lái)就在GitHub上找一個(gè)分布式系統(tǒng)對(duì)著敲,這樣除了提升自己的打字速度之外,還會(huì)有挫敗感,基本學(xué)不到什么東西,這可能是你描述的空虛吧。
由大到小
在項(xiàng)目層面上,先觀全貌,了解項(xiàng)目的技術(shù)棧,了解項(xiàng)目的結(jié)構(gòu)和框架,如果是別人的項(xiàng)目首先啟動(dòng)或者部署一下,把其中功能用熟練了,這樣在你對(duì)著敲項(xiàng)目的時(shí)候會(huì)根據(jù)注釋知道你大概是在看什么功能的實(shí)現(xiàn),類似于閱讀理解的帶著問(wèn)題讀文章。
我拿一個(gè)我認(rèn)為很優(yōu)秀的后端管理系統(tǒng)為例,若依的前后端分離系統(tǒng)。
當(dāng)你克隆了項(xiàng)目之后,首先先根據(jù)說(shuō)明文檔可以看出它前端使用的是vue+elementui,后端SpringBoot+Spring Security+Redis & Jwt,這樣你對(duì)這個(gè)項(xiàng)目的技術(shù)棧就有了大概了解。
然后先不要急,根據(jù)文檔說(shuō)明把項(xiàng)目啟動(dòng),分別找到這些功能,這樣就對(duì)項(xiàng)目有了進(jìn)一步的了解。
接著看項(xiàng)目結(jié)構(gòu),它是一個(gè)父項(xiàng)目包括幾個(gè)子模塊的結(jié)構(gòu),其實(shí)根據(jù)它的命名你大概可以猜到它對(duì)應(yīng)的功能,common是放公共類的模塊,framework是修改框架的代碼,quartz是對(duì)應(yīng)頁(yè)面上的定時(shí)的代碼,generator是對(duì)應(yīng)代碼自動(dòng)生成的功能等等...
最后可以看對(duì)應(yīng)的模塊了,慢慢看,慢慢理解,一點(diǎn)一點(diǎn)學(xué)習(xí)。若依雖然是一個(gè)后臺(tái)管理系統(tǒng),但是吃透它還是不容易的。其他項(xiàng)目也是這個(gè)步驟。
反復(fù)多次
不限于java項(xiàng)目,其實(shí)學(xué)習(xí)任何東西都得反復(fù)復(fù)習(xí),你第一次可能只學(xué)會(huì)了配置多數(shù)據(jù)源、更改訪問(wèn)權(quán)限,第二次你就能看懂代碼生成的寫(xiě)法、也了解了流程框架,這樣循序漸進(jìn)才能慢慢將一個(gè)項(xiàng)目吃透。