踏入程序員這個(gè)行業(yè),你就注定要學(xué)習(xí)一輩子,因?yàn)樾录夹g(shù)層出不窮,技術(shù)體系更新快速,這是和其他行業(yè)最大的區(qū)別之一。所以,如果你想在這個(gè)行業(yè)混出點(diǎn)樣子,那么請(qǐng)你隨時(shí)做好學(xué)習(xí)的準(zhǔn)備,如果你想成為優(yōu)秀的程序員,那么一定要有正確的學(xué)習(xí)方式,下面推薦幾條程序員的最佳學(xué)習(xí)方式,希望能幫你事半功倍。
程序員需要一個(gè)成長(zhǎng)的觀念
程序員需要一個(gè)成長(zhǎng)的觀念!程序員的關(guān)鍵技術(shù),比如對(duì)混亂的反應(yīng),從挫折中的恢復(fù),承擔(dān)新挑戰(zhàn)的意愿,所有這些在成長(zhǎng)的觀念下都會(huì)變得容易,而在固定的觀念下卻更加困難。
10 倍工程師
先從 10 倍工程師的想法開(kāi)始。它的意思是一些工程師的效率是其他人的數(shù)倍。這種想法召來(lái)了很多的批評(píng),但是我們暫且將批評(píng)放在一邊。
1、不可盲目看API文檔
很多人在接觸學(xué)習(xí)一門(mén)新的平臺(tái)語(yǔ)言時(shí),總是喜歡先去探究一番API文檔。這種方式不適合大部分人來(lái)效仿,因?yàn)锳PI領(lǐng)域廣泛,牽涉到的知識(shí)點(diǎn)太多,而對(duì)初學(xué)者來(lái)說(shuō),遺忘的速度遠(yuǎn)遠(yuǎn)大于記憶!這種做法是大量消耗精力、小量吸取知識(shí)的方法,只會(huì)事倍功半。
2、前人鋪路,后人乘涼
對(duì)于初學(xué)者來(lái)說(shuō),任何想要學(xué)習(xí)與掌握的知識(shí)點(diǎn),之前都會(huì)有高人學(xué)習(xí)總結(jié)過(guò);所以建議大家每學(xué)習(xí)一個(gè)知識(shí)點(diǎn),都盡可能的先動(dòng)手去網(wǎng)上搜索和學(xué)習(xí)別人總結(jié)出來(lái)的相關(guān)知識(shí)點(diǎn)的文章,畢竟前人總結(jié)過(guò)的知識(shí)會(huì)讓你減少學(xué)習(xí)的彎路。最后再根據(jù)每個(gè)知識(shí)點(diǎn)去詳細(xì)翻閱相關(guān)的API文檔,有針對(duì)性、有目的性的去看API文檔才會(huì)事半功倍。
3、好記性不如爛筆頭
這句諺語(yǔ),幾乎無(wú)人不知無(wú)人不曉,但是總被許多初學(xué)者拋在腦后。在學(xué)習(xí)的時(shí)候,總是看的代碼多,而動(dòng)手練習(xí)的代碼少!身為一個(gè)程序員都應(yīng)該很清楚,代碼如果不多動(dòng)手敲它,它永遠(yuǎn)不會(huì)自己跑進(jìn)腦中,所以多動(dòng)手才是成功的關(guān)鍵。
4、不要陷入僵局。請(qǐng)求幫忙
我推薦三件事情以避免僵局。第一是試著總是閱讀更多關(guān)于你使用的技術(shù),并總體掌握正在發(fā)生什么。通常,當(dāng)你陷入困境時(shí),意味著你對(duì)需要澄清的事情做出了不正確的假設(shè)。第二是咨詢(xún)互聯(lián)網(wǎng)。這一點(diǎn)很顯然,但依然值得一提。在網(wǎng)上查找并詢(xún)問(wèn)有過(guò)這個(gè)問(wèn)題的人是一個(gè)非常重要的技能。
5、建立自己常用的類(lèi)庫(kù)
這是積累知識(shí)的一種有效手段,有時(shí)候可以幫你大大提高工作效率。不要認(rèn)為你寫(xiě)過(guò)的代碼沒(méi)有用處,有些常用的工具方法一定要收藏起來(lái),整理出屬于自己的工具類(lèi)庫(kù)。比如:文件操作類(lèi)、序列化類(lèi)、數(shù)據(jù)庫(kù)操作類(lèi)、字符串處理類(lèi)等等,時(shí)間久了,你會(huì)發(fā)現(xiàn)他們對(duì)你的幫助不是一般的大,這里不多說(shuō),自己去實(shí)踐一下就知道了。
6、網(wǎng)絡(luò)社交不可小視
要明白一點(diǎn),全世界不是你一個(gè)人在寫(xiě)代碼,作為優(yōu)秀的程序員,交流是必不可少的,國(guó)外的社交網(wǎng)絡(luò),我推薦reddit和github,由于目前googleapis被屏蔽,上reddit會(huì)有點(diǎn)困難。
7、花更多的時(shí)間分析問(wèn)題
花更多的時(shí)間理解和分析問(wèn)題,然后再設(shè)計(jì)方案吧。你會(huì)發(fā)現(xiàn)剩下的事情很容易了。設(shè)計(jì)不是說(shuō)要用建模語(yǔ)言和工具,可以是僅僅看看天空在腦子里構(gòu)思。那些在遇到問(wèn)題就開(kāi)始敲代碼的人往往會(huì)最終偏離需求。
作為程序員,當(dāng)你在編寫(xiě)代碼之前,盡量把問(wèn)題分析透徹一點(diǎn),這不僅能提高你編碼的效率,更重要的是能提高你的分析問(wèn)題能力。
8、重思考,多總結(jié)
一個(gè)段好的代碼并不是它們?cè)綇?fù)雜越好,簡(jiǎn)單的方法,實(shí)現(xiàn)復(fù)雜的功能,才是我們最需要的。要提高編碼速度,更重要的是簡(jiǎn)化梳理程序流程,以最小的代碼量完成功能實(shí)現(xiàn)。所以編程最重要的事情是思考和總結(jié)。
大牛與碼農(nóng)的區(qū)別就在思想上了。但是提高代碼編寫(xiě)的速度,是我們可以鍛煉出來(lái)的,做好以上幾點(diǎn),你的編程速度和效率定會(huì)大大提高!
9、開(kāi)始為你寫(xiě)過(guò)的代碼貼上標(biāo)簽(怎么做,做什么)
我發(fā)現(xiàn)優(yōu)秀的程序員和普通程序員之間有一條明顯的分界線,優(yōu)秀程序員渴望深究每行代碼做了些什么,以及如何實(shí)現(xiàn)的。有那么一小群人,他們一定要弄懂每一行代碼。我知道如果時(shí)間非常緊張的時(shí)候,我們經(jīng)常不能夠遵循這個(gè)原則,僅僅寫(xiě)出些代碼,知道它實(shí)現(xiàn)了需要的功能。如何處理這種情況又是另外一個(gè)話題,但是作為一個(gè)程序員,我們經(jīng)常要盡可能深入探索。相信我,隨著時(shí)間的推移這會(huì)變成一個(gè)習(xí)慣,之后每次你都會(huì)不知不覺(jué)的這樣做了。
10、寫(xiě)簡(jiǎn)單易懂,有邏輯性的代碼
正如KISS原則(保持短小精悍)適用于生活的方方面面一樣,它也適用于編程。盡量寫(xiě)有邏輯的代碼,避免復(fù)雜化。有時(shí)人們寫(xiě)復(fù)雜的代碼僅僅是為了展示他們有能力寫(xiě)出這樣的代碼。我的經(jīng)驗(yàn)告訴我,簡(jiǎn)單而富有邏輯的代碼非常的好,會(huì)產(chǎn)生的問(wèn)題更少,也更容易擴(kuò)展。我記得一句話:
好的代碼本身就是最好的文檔。當(dāng)你想要加注釋的時(shí)候,問(wèn)問(wèn)你自己,“我能如何改進(jìn)我的代碼,才能不寫(xiě)注釋也讀得懂呢?
結(jié)論
這些事情可以幫助新手在他們漫長(zhǎng)的旅程中學(xué)習(xí)編程。我知道我還有更多東西需要學(xué)習(xí),并將繼續(xù)學(xué)習(xí)如何永遠(yuǎn)地學(xué)習(xí)。最重要的事情說(shuō)三遍,請(qǐng)繼續(xù),不要放棄,不要放棄,不要放棄。當(dāng)然,說(shuō)說(shuō)容易,因?yàn)閷W(xué)習(xí)編程有時(shí)可能會(huì)令人非常沮喪!不要擔(dān)心。這是正常的。每個(gè)人都經(jīng)歷過(guò)這樣的心情。
另外還有一點(diǎn)可以通過(guò)自身的學(xué)習(xí)來(lái)獲取一大進(jìn)步。
分享給超過(guò)5萬(wàn)的程序員朋友下載,這次我把所有干貨重新梳理精簡(jiǎn),免費(fèi)給大家 。
究竟有哪些干貨呢?先給你們一個(gè)目錄:
聯(lián)系客服