Java開發(fā)每日一課:快速提升編碼水平的3個(gè)技巧

對(duì)于初學(xué)者,快速提升編碼水平是一個(gè)很重要的課題。那么,如何快速提升?一個(gè)簡(jiǎn)單的方法就是多練,小編在上學(xué)的時(shí)候就流行一個(gè)觀點(diǎn),當(dāng)你的代碼經(jīng)驗(yàn)達(dá)到了2W行,那么,你的編碼就入門了。小編當(dāng)年也按照這個(gè)進(jìn)行實(shí)踐,碩士畢業(yè)的時(shí)候代碼經(jīng)驗(yàn)達(dá)到了5W行左右?,F(xiàn)在工作了那么多年,回過頭想想,練習(xí)其實(shí)也是有技巧的。有針對(duì)性的進(jìn)行練習(xí)(刻意訓(xùn)練),才能用最短的時(shí)間提升編碼能力??偨Y(jié)起來,下面3點(diǎn)是快速提升的秘訣所在:

用真實(shí)的項(xiàng)目實(shí)戰(zhàn)練習(xí)

編程是個(gè)動(dòng)手的工作,看書能夠?qū)W到知識(shí),但更重要的是把書上的知識(shí)用到實(shí)戰(zhàn)。好多同學(xué)看了好多書,還是不會(huì)寫代碼,就是因?yàn)閯?dòng)手太少。在互聯(lián)網(wǎng)公司,好多剛畢業(yè)的同學(xué),沒啥開發(fā)經(jīng)驗(yàn)。如何讓這些同學(xué)快速上手呢?根據(jù)我的經(jīng)驗(yàn),不會(huì)給太多的時(shí)間去看書,而是會(huì)盡快安排一些簡(jiǎn)單的需求,結(jié)合項(xiàng)目去學(xué)習(xí)知識(shí)。只有做項(xiàng)目了,才能知道哪些知識(shí)點(diǎn)是重要的,哪些知識(shí)點(diǎn)是自己薄弱的,學(xué)習(xí)會(huì)更有針對(duì)性。要不然抱著《Java編程思想》讀2遍,半年時(shí)間也就過去了,也不見得能會(huì)做項(xiàng)目,寫程序。所以,結(jié)合真實(shí)的項(xiàng)目學(xué)習(xí),非常重要,要不然只會(huì)花架子。

當(dāng)然,好多同學(xué)會(huì)問,我們還沒有畢業(yè),也沒機(jī)會(huì)去大公司實(shí)習(xí),那我們應(yīng)該怎么辦呢?簡(jiǎn)單的講,有2個(gè)方法。一個(gè)是自己給自己設(shè)計(jì)需求,自己去實(shí)現(xiàn),比如讓自己做個(gè)電商系統(tǒng),這個(gè)需求就很接近實(shí)戰(zhàn)。另外一個(gè)辦法是去Github上找項(xiàng)目,好多開源的項(xiàng)目都是公司實(shí)際在用的,研究這些項(xiàng)目,試著仿寫一個(gè),也是不錯(cuò)的學(xué)習(xí)方法。這個(gè)問題,我后面會(huì)專門寫篇文章,講清楚怎么去Github找項(xiàng)目、參與項(xiàng)目。感興趣的同學(xué)可以先加個(gè)關(guān)注。

學(xué)習(xí)高手的代碼

跟著一流高手學(xué)習(xí),學(xué)好的話能達(dá)到二流的水平。跟著三流的師傅學(xué)習(xí),上限也就三流水平了。所以提升代碼水平另外一個(gè)技巧就是學(xué)習(xí)高手的代碼,然后找差距。高手的代碼在哪里?正常來講老外的項(xiàng)目代碼質(zhì)量會(huì)高一些(不是崇洋媚外,這里面有經(jīng)濟(jì)學(xué)原因),所以像Spring、JDK源碼這些都是不錯(cuò)的學(xué)習(xí)材料。當(dāng)然,一開始讀代碼會(huì)比較吃力,可以先看一些簡(jiǎn)單的工具類,比如ArrayList的實(shí)現(xiàn),然后水平上來了,再去看一些復(fù)雜的框架。

請(qǐng)高手檢視代碼

自己很難發(fā)現(xiàn)自己的錯(cuò)誤,所以,如果有高手能幫著檢視代碼,對(duì)于代碼水平的提升幫助非常大。自己寫完代碼,可以找水平高的幫著看看。高手會(huì)針對(duì)代碼中存在的問題進(jìn)行說明,自己再根據(jù)高手的指點(diǎn),針對(duì)自己薄弱的地方進(jìn)行加強(qiáng)。不出半年,應(yīng)該就能寫出高質(zhì)量的代碼。

這里好多同學(xué)又會(huì)有問題了,哪里去找高手幫著看代碼呢?如果在學(xué)校,可以找?guī)熜只蛘咄瑢W(xué)幫著看看,如果工作了,可以找公司的技術(shù)大牛幫著看看。如果既沒有師兄也沒有技術(shù)大牛,那怎么辦了,可以試著去開源社區(qū)提PR,會(huì)有大牛幫著檢視代碼。

快速提升代碼水平的3個(gè)方法講完了,同學(xué)們還有什么疑問呢?歡迎在評(píng)論區(qū)交流。

Java開發(fā)每日一課是系列專欄,后面每天都會(huì)Java開發(fā)相關(guān)的干貨分享,感興趣的朋友可以先加個(gè)關(guān)注。

作者介紹:14年某國(guó)家重點(diǎn)實(shí)驗(yàn)室軟件理論碩士畢業(yè)、在美團(tuán)負(fù)責(zé)過公司級(jí)網(wǎng)關(guān)項(xiàng)目,目前在某金融公司負(fù)責(zé)機(jī)構(gòu)投資交易系統(tǒng)的設(shè)計(jì)開發(fā)。有10年Java開發(fā)經(jīng)驗(yàn),4年項(xiàng)目管理經(jīng)驗(yàn),擅長(zhǎng)高并發(fā)、高可用分布式系統(tǒng)的設(shè)計(jì),Dubbo Contributor。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容