分(fēn)享到:

【深圳網站(zhàn)建設】自(zì)學編程的幾個技巧

日(rì)期:2017-01-11 17:05:00     閱讀(dú):647     文章(zhāng)來(lái)源:源美網絡     标簽:深圳網站(zhàn)建設,深圳網站(zhàn)設計(jì),網站(zhàn)編程

blob.png

深圳網站(zhàn)建設】| 常聽到有人(rén)的問(wèn)題是「怎樣能在最短(duǎn)的時間學好編程?」,有這種心态很不錯,能在短(duǎn)時間内掌握編程的技巧,之後遇上各種難題就(jiù)能迎刃而解。


不過隻追求速度而沒打好基礎,到頭來(lái)隻會自(zì)食其果,這裡(lǐ)有6個學習編程的技巧,雖然不一定能讓你(nǐ)飛速成長,但(dàn)做好這些步驟,一定可(kě)以穩穩的進步!

有一天,我的一個在學編程 的朋友問(wèn)我:「我想快(kuài)速學習 編程,你(nǐ)有什麽好的推薦嗎(ma)?」我曾在上大(dà)學的時候自(zì)學過,這麽多年(nián)過去(qù)了,我意識到我或許是在用最困難的方式去(qù)學習和了解編程。本來(lái)我完全可(kě)以用更快(kuài)的速度學習。因此,在回顧了過去(qù)之後,我寫下了這些年(nián)來(lái)我漸漸掌握到的關于如(rú)何學習編程的一些事(shì)情。


「快(kuài)速」

對于「如(rú)何快(kuài)速學習 編程」這個問(wèn)題,其實我真的不知道何謂「快(kuài)速」。我覺得(de),通過遵循以下建議(yì),你(nǐ)将很快(kuài)地學習 編程(至少你(nǐ)的成長/進步會快(kuài))。但(dàn)你(nǐ)真的不應該眼中隻有「快(kuài)速」。隻追求速度反而會拖你(nǐ)的後腿,讓你(nǐ)自(zì)食其果。


「快(kuài)速」學習的唯一可(kě)持續方法或許是采用浸泡式教學法。找到一種方法讓自(zì)己沉浸在 編程 中很長一段時間(幾個月?)。爲了讓它奏效,你(nǐ)需要不斷推動自(zì)己去(qù)學習新的東西,并迅速抽身(shēn)離(lí)開。


這是編碼訓練營的一個優點。當你(nǐ)出來(lái)時,盡管你(nǐ)還(hái)不是專家,但(dàn)你(nǐ)會學得(de)更快(kuài)。這也可(kě)以通過專門(mén)的導師(shī)教導或與專門(mén)的初學者一起學習來(lái)實現。


1、讀(dú)>寫程序代碼>讀(dú)>寫程序代碼(日(rì)複一日(rì))

關于如(rú)何高效學習 編程 我要給出的第一條建議(yì)是在閱讀(dú)程序代碼和編寫程序代碼之間循環往複。閱讀(dú)程序代碼(書(shū)籍,部落格文章(zhāng),開源程序代碼)将幫助你(nǐ)查看(kàn)解決方案,了解最佳做法,并大(dà)緻了解語言或系統。

但(dàn)是在你(nǐ)這樣做之後,你(nǐ)需要自(zì)己實際去(qù)寫程序代碼。可(kě)以是任何東西。可(kě)以是小的編碼練習或業餘項目,但(dàn)确保你(nǐ)能将之付諸于實踐,并用某種方式使用你(nǐ)學到的東西。如(rú)果你(nǐ)不這樣做,那麽你(nǐ)會發現自(zì)己面對編輯器會無所适從(cóng)無從(cóng)下手。

這方面的訣竅是讓自(zì)己感到不舒服。這是相(xiàng)當痛苦的,但(dàn)就(jiù)應該這樣。編碼遵循 80/20 規則。花 80%的時間在 20%的程序代碼或 20%你(nǐ)所學的東西上。習慣于這種不舒服的感覺并克服它是關鍵。

這個叠代周期不應該以周爲周期或以月爲周期發生(shēng),而是應該以日(rì)爲周期。知識等待使用的時間越久,知識這把斧頭就(jiù)越鈍。等待學習新知識的時間越長,你(nǐ)就(jiù)越難以将其融入到程序代碼中。


2、不要陷入僵局,請(qǐng)求幫忙

我最大(dà)的錯誤是在學習 編程 陷入僵局的時候用了太長時間。在被卡住時,我會花很多時間在一些愚蠢的東西或一些我根本上不明白(bái)的東西上。

有時候我需要花費好幾天時間才能完成這些工(gōng)作(zuò),而原本我可(kě)以用這些時間做更多的事(shì)情和學習更多的東西,如(rú)果我能找到更好的解決方法的話(huà)。卡在一個東西上面超過一個小時基本上就(jiù)是在浪費時間了。

我推薦三件(jiàn)事(shì)情以避免僵局。第一是試着總是閱讀(dú)更多關于你(nǐ)使用的技術(shù),并總體(tǐ)掌握正在發生(shēng)什麽。通常,當你(nǐ)陷入困境時,意味着你(nǐ)對需要澄清的事(shì)情做出了不正确的假設。

第二是咨詢網絡。這一點很顯然,但(dàn)依然值得(de)一提。在網絡上查找并詢問(wèn)有過這個問(wèn)題的人(rén)是一個非常重要的技能。Stackoverflow 可(kě)以說(shuō)是最好的網站(zhàn)。不要害怕在那裡(lǐ)問(wèn)自(zì)己的問(wèn)題。通常,隻要盡力正确地闡述你(nǐ)的問(wèn)題就(jiù)OK了。我真的希望以前我能多問(wèn)些問(wèn)題,但(dàn)總是因爲害怕會顯得(de)愚蠢而止步。

我的第三個建議(yì)是向你(nǐ)認識的人(rén)請(qǐng)求幫助。通常,你(nǐ)或許已經理(lǐ)解了技術(shù),而且有了問(wèn)題,但(dàn)是你(nǐ)可(kě)能需要更高層次的上下文才能真正解開謎團。不要膽怯,大(dà)着膽子上前去(qù)問(wèn)吧(ba)。

例如(rú),當學習 Docker 時,我花費了大(dà)量的時間從(cóng)頭開始重新構建圖像。我從(cóng)根本上不明白(bái) Docker 緩存,并用 20 分(fēn)鍾時間來(lái)等待單個更改到 Dockerfile 通過。我可(kě)能花了8個小時就(jiù)用在等待構建上。如(rú)果我讀(dú)過更多關于 Docker 或問(wèn)一個知道的人(rén),那麽可(kě)能我早就(jiù)搞明白(bái)了,還(hái)可(kě)以在更短(duǎn)的時間内學到更多。


3、爲項目而工(gōng)作(zuò)

在我的經驗中,沒有什麽可(kě)以與工(gōng)作(zuò)于自(zì)己的項目以學習 編程 更有用的了。除了一些例外,我所知道的所有真正優秀的工(gōng)程師(shī)都(dōu)有一個習慣就(jiù)是工(gōng)作(zuò)于業餘項目(這也可(kě)能發生(shēng)在工(gōng)作(zuò)中!)。

有了一個點子并試圖實現這個點子是非常具有挑戰性的。它需要很強的自(zì)律心。但(dàn)是,通過嘗試實際做一件(jiàn)事(shì)情,你(nǐ)可(kě)以學到如(rú)何分(fēn)解問(wèn)題并應用技術(shù)。你(nǐ)面對的各種問(wèn)題,以及你(nǐ)如(rú)何解決它們才真正是所謂的 編程。

知道 編程 語言的每一個古怪細節的确是有幫助的,但(dàn)它隻會讓你(nǐ)越來(lái)越落伍。此外,想要完成項目的驅動力是繼續學習的動力。從(cóng)業餘項目獲得(de)的滿足感遠(yuǎn)遠(yuǎn)超過你(nǐ)在抽像中學習東西的滿足感。

我對于選擇業餘項目的建議(yì)是,選擇你(nǐ)感興趣同時你(nǐ)也有想法如(rú)何實現的東西。能夠在開始之前表達實現總是有助于保持我的動力。在此旅途之中你(nǐ)一定會學到很多!


4、認識到深入鑽研和搬運工(gōng)之間的區别。相(xiàng)應地選擇

有兩種類型的工(gōng)程師(shī):完美主義者和搬運工(gōng)。有些人(rén)希望一切都(dōu)是正确的,他(tā)們希望完美,他(tā)們希望遵循所有的最佳實踐,并寫出漂亮的優雅程序代碼。他(tā)們想要理(lǐ)解每一行程序代碼。

有别于那些不管三七二十一,隻要自(zì)己的程序代碼能工(gōng)作(zuò)即可(kě),即使對程序代碼庫有損害的人(rén)。平衡這兩種技能是非常重要的。有時你(nǐ)應該深入鑽研一個問(wèn)題或項目,看(kàn)看(kàn)發生(shēng)了什麽。有時你(nǐ)應該讓它工(gōng)作(zuò)即可(kě),即使你(nǐ)不知道發生(shēng)了什麽。

每當你(nǐ)花費太多時間在某個東西上時,那就(jiù)問(wèn)問(wèn)自(zì)己:我應該采取哪種方法?在大(dà)多數情況下,你(nǐ)會想取中間值。你(nǐ)想提供一個好的、堅實的解決方案,同時你(nǐ)可(kě)以自(zì)信地理(lǐ)解和修改,但(dàn)沒有耗費荒謬的時間。随着你(nǐ)作(zuò)爲開發人(rén)員(yuán)的成長,你(nǐ)會更好地明白(bái)什麽時候就(jiù)此離(lí)開就(jiù)可(kě)以,以及什麽時候需要以某些方式完成。

就(jiù)個人(rén)而言,我喜歡我的項目 80%完美。如(rú)果你(nǐ)的項目是絕對 100%完美,沒有一行程序代碼讓你(nǐ)覺得(de)尴尬,那麽很有可(kě)能你(nǐ)已經花了太多的時間。


5、與其他(tā)工(gōng)程師(shī)交談

學習 編程 的一個很好的方法就(jiù)是和其他(tā)的工(gōng)程師(shī)交談。不必談論任何特定的内容。可(kě)以是你(nǐ)正在學習的東西,可(kě)以是你(nǐ)認爲很酷的東西,可(kě)以是你(nǐ)正在工(gōng)作(zuò)的東西,皆可(kě)。你(nǐ)會發現很多工(gōng)程師(shī)并不喜歡隻是聊 編程。

這樣做可(kě)能會讓你(nǐ)學到很多關于程序代碼庫、服務,編程 語言和模式方面的知識。但(dàn)是,最重要的是,你(nǐ)将了解到其他(tā)人(rén)是如(rú)何看(kàn)待 編程 的。你(nǐ)會發現,你(nǐ)認爲理(lǐ)所當然或從(cóng)來(lái)沒有考慮的事(shì)情在人(rén)與人(rén)之間是非常不同的。

如(rú)果你(nǐ)沒有什麽可(kě)談的,那就(jiù)回到編輯器戰争或 tab vs space 的話(huà)題。


6、嘗試一切。如(rú)果搞不懂(dǒng)的話(huà),那就(jiù)等6個月

最後,我要說(shuō)的是,一直以來(lái)在我身(shēn)上發生(shēng)着這樣的事(shì),我嘗試過很多東西,但(dàn)我就(jiù)是不理(lǐ)解。在用 30 分(fēn)鍾嘗試新的東西後,我會停下來(lái)。我想這在起步時是很正常的。

但(dàn)是,我記得(de)很多次,在 6 個月後(或 3 個月或 9 個月),我會回到同樣的問(wèn)題或技術(shù)上,弄清楚如(rú)何使用它。這是因爲我又掌握了一些我以前不具備的知識,或者因爲它隻是另一種方式的框架。等待一段時間,然後回去(qù),總是一種最有用的方法。

這方面的一個例子是學習如(rú)何使用終端機(jī)。我記得(de)很長一段時間我都(dōu)害怕碰到終端機(jī),因爲我不知道如(rú)何使用。我花了一段時間并按照(zhào)步驟定期地使用它和理(lǐ)解它。當然,如(rú)果我認識可(kě)以向我解答的人(rén),或者找到一個好的資源來(lái)學習,這樣的事(shì)情就(jiù)不會發生(shēng)!


結論

這些事(shì)情可(kě)以幫助新手在他(tā)們漫長的旅程中學習 編程。我知道我還(hái)有更多東西需要學習,并将繼續學習如(rú)何永遠(yuǎn)地學習。最重要的事(shì)情說(shuō)三遍,請(qǐng)繼續,不要放(fàng)棄,不要放(fàng)棄,不要放(fàng)棄。當然,說(shuō)說(shuō)容易,因爲學習 編程 有時可(kě)能會令人(rén)非常沮喪!不要擔心。這是正常的。每個人(rén)都(dōu)經曆過這樣的心情。



文章(zhāng)引用:

本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!

上一篇: 回顧2016年(nián)最紅(hóng)開發程序語言

下一篇: Windows系統MySQL忘記root密碼的解決辦法

返回列表
最新案例
OUR ADVANTAGE WORKS

售後保障

承諾任何問(wèn)題1小時内解決

數據備份

更安全、更高效、更穩定

價格公道精準

項目經理(lǐ)精準報價不弄虛作(zuò)假

合作(zuò)無風(fēng)險

重合同講信譽,無效全額退款