十個(gè)小貼士!幫你節(jié)省編程時(shí)間、減少挫敗感
在堅(jiān)持學(xué)習(xí)之前,筆者至少四次開始立下決心好好學(xué)習(xí)編程課程,然而都無(wú)疾而終。為此,筆者對(duì)數(shù)據(jù)科學(xué)專業(yè)學(xué)生做了相應(yīng)調(diào)查,發(fā)現(xiàn)像筆者這樣情況的并不罕見(jiàn)。
大部分開始失敗的原因來(lái)源于學(xué)習(xí)編程緩慢而乏味的過(guò)程,以及隨之而來(lái)的挫折感。因此,掃清阻止人們成為稱職的程序員的不必要障礙是學(xué)習(xí)的第一步。總會(huì)有障礙,但沒(méi)有理由一直被不必要的障礙絆倒。
這里有10個(gè)小貼士可以幫助你更快地跨越障礙,提升能力。如果你已經(jīng)編寫了多年代碼,那么對(duì)你而言,這些技巧中的許多可能看起來(lái)微不足道或顯而易見(jiàn)。但是在剛剛接觸時(shí),并不是所有東西都不言而喻。即使你從手機(jī)被稱為“移動(dòng)電話”時(shí)就一直在編碼,也可能會(huì)有一兩個(gè)小貼士可以幫你節(jié)省時(shí)間。
大家一起來(lái)看看吧~
十個(gè)小貼士
1. 分屏顯示。學(xué)習(xí)編碼的大多數(shù)時(shí)候,可以將屏幕分成兩個(gè)并排的面板——一個(gè)是你在Jupyter筆記本或代碼編輯器中編寫的代碼,另一個(gè)是Web瀏覽器。使用Web瀏覽器查看文檔、教程或者訪問(wèn)Stack Overflow網(wǎng)站。如果你的屏幕太小,建議買一個(gè)大一點(diǎn)的——如果你買得起的話。在美國(guó),只要花100美元出頭,就可以在亞馬遜上買到25英寸的顯示器。在你越來(lái)越熟練時(shí),會(huì)經(jīng)常想專注于一件工作。你可以使用鍵盤快捷鍵在分屏模式和全屏模式之間切換。對(duì)于Mac而言,筆者喜歡2.99美元的BetterSnapTool。
2. 排除干擾。把計(jì)算機(jī)和電話上的通知靜音。如果可以的話,把手機(jī)放到一邊。如果你在嘈雜的地方,播放一些安靜的器樂(lè)或使用消聲耳機(jī)。越集中精力,就學(xué)得越快。
3. 鍵入示例代碼。你不能指望只看一個(gè)教程就希望記住它。復(fù)制和粘貼沒(méi)有什么價(jià)值。你必須自己敲出來(lái),再拓展它。然后根據(jù)記憶再次敲出來(lái)。“理論和實(shí)踐沒(méi)有區(qū)別。實(shí)際上就是如此。”——本杰明·布魯斯特原話——不是尤吉·貝拉。⚾
4. 連續(xù)多日學(xué)習(xí)。學(xué)習(xí)一個(gè)新的代碼概念,并在幾天內(nèi)對(duì)自己進(jìn)行測(cè)試。研究表明,在長(zhǎng)時(shí)間記憶時(shí),隔三差五重復(fù)記憶遠(yuǎn)比死記硬背有效得多。
5. 教學(xué)相長(zhǎng)。清楚地向他人解釋一個(gè)概念——無(wú)論是口頭還是書面——都會(huì)迫使你理解這個(gè)概念的本質(zhì),繪制關(guān)系,并創(chuàng)建類比。如此一來(lái),加強(qiáng)了大腦中關(guān)于這個(gè)的聯(lián)系。這個(gè)技巧是費(fèi)曼優(yōu)秀學(xué)習(xí)技巧的一部分。
6. 使用庫(kù)之前充分理解編程語(yǔ)言。在嘗試使用編寫的庫(kù)之前,請(qǐng)充分理解編程語(yǔ)言。變量類型不是最令人興奮的話題。帶有屬性和方法的類可能看起來(lái)很高級(jí)。一旦你真正理解了編程語(yǔ)言,就更容易掌握這個(gè)庫(kù)的使用方法。這樣一來(lái),你會(huì)少犯錯(cuò)誤,省下很多時(shí)間。
7. 專注學(xué)習(xí)某一內(nèi)容。不要試圖同時(shí)學(xué)習(xí)兩種內(nèi)容,要不然你學(xué)得不止慢兩倍,會(huì)慢十倍。還有,不要因?yàn)榛ɡ锖诘膬?nèi)容而分散注意力。把這些看起來(lái)像充滿誘惑的無(wú)底洞等著你跳下去的網(wǎng)址保存到某個(gè)地方,把那些與你現(xiàn)在所學(xué)內(nèi)容無(wú)關(guān)的網(wǎng)址放在這個(gè)安全的地方。One Tab是一個(gè)便捷的Chrome擴(kuò)展程序,用于保存標(biāo)簽供以后使用。
8. 保證睡眠、持續(xù)鍛煉、彈性工作。讓你的大腦處于良好的狀態(tài),以形成和加強(qiáng)神經(jīng)聯(lián)系。了解更多技術(shù),幫助你在Memorable Python中保持敏銳。
9. 學(xué)會(huì)更快地敲代碼。⌨你越是鍵入不尋常的符號(hào),就會(huì)越快。然而,有目的性地敲代碼可以大大加速整個(gè)過(guò)程。要買一個(gè)學(xué)習(xí)好的觸摸打字鍵盤。這里有一個(gè)來(lái)自SpeedCoder的小練習(xí)。
10. 充分了解鍵盤快捷鍵。以下是關(guān)于Chrome、Mac和Windows快捷方式的鏈接。如果你是數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師,筆者在這里為Jupyter 實(shí)驗(yàn)室做了一個(gè)關(guān)于GitHub Gist的快捷鍵。為Mac或Linux終端創(chuàng)建快捷方式也是一個(gè)好主意,方法是在~/.Bash_Profile的Bash概要文件中添加以下行:alias gs=“git status”。然后重新啟動(dòng)終端,輸入兩個(gè)按鍵而不是兩個(gè)字。
額外福利:如何學(xué)會(huì)快速解決錯(cuò)誤
文章結(jié)束前,給大家送一個(gè)額外福利——一個(gè)5步計(jì)劃,以更快地解決錯(cuò)誤。

每個(gè)程序員都會(huì)看到很多錯(cuò)誤。但一旦你有了經(jīng)驗(yàn),大多數(shù)人只會(huì)聳聳肩,因?yàn)槟憧梢栽谝环昼妰?nèi)解決問(wèn)題。
但是,在剛剛上手時(shí),一個(gè)錯(cuò)誤可能需要20倍的時(shí)間才能解決。對(duì)于初學(xué)者來(lái)說(shuō),錯(cuò)誤會(huì)讓你感覺(jué)像是在蹚過(guò)腳踝深的泥地。
pixabay
這是一個(gè)快速解決95%錯(cuò)誤的計(jì)劃。
所以如果你犯了錯(cuò)誤,該怎么辦?
1. 檢查拼寫錯(cuò)誤——缺少括號(hào)、變量或函數(shù)拼寫錯(cuò)誤。
語(yǔ)法高亮顯示在這里很有幫助。始終在提供代碼高亮顯示的軟件中鍵入代碼,以提高快速修復(fù)縮進(jìn)能力、避免不平衡括號(hào)等類似錯(cuò)誤。有很多好的代碼編輯器可供選擇。如果你剛開始,我建議你使用VSCode(占有最多市場(chǎng)份額)——免費(fèi)且有很多方便的功能。
2. 首先關(guān)注錯(cuò)誤消息堆棧跟蹤的頂部和底部。
中間的代碼通常用處不大。然后根據(jù)錯(cuò)誤消息中的提示,查看代碼并確定是否可以找出錯(cuò)誤所在。如果無(wú)法快速解碼錯(cuò)誤消息,請(qǐng)將消息的最后一行復(fù)制并粘貼到Google(如果使用的是Python可以這樣做,其他語(yǔ)言可能在堆棧跟蹤之前有錯(cuò)誤消息)。新程序員最大的錯(cuò)誤是沒(méi)有足夠快地向谷歌發(fā)送錯(cuò)誤信息。
3. 過(guò)濾在線資源,把“小麥”和“谷殼”分開。
這里有一些啟發(fā)式方法可以幫助你更快地找到高質(zhì)量的資源。
Stack Overflow、Medium、Reddit、Hacker News、Dev和其他在線社區(qū)都有諸如upvots或clap之類的反饋指標(biāo),以顯示哪些內(nèi)容符合目標(biāo)。這些指標(biāo)并不完美,但它們效果一般不錯(cuò)。StackOverflow、TowardData ScienceMedium publication、GitHub問(wèn)題中的repo問(wèn)題、語(yǔ)言或庫(kù)的官方文檔是筆者找到最多解決方案的站點(diǎn)。
在谷歌的搜索結(jié)果中,博客的質(zhì)量是好壞參半的。如果你使用Python,筆者可以根據(jù)經(jīng)驗(yàn)推薦一些好的站點(diǎn):
- Real Python
- Data School
- Dataquest Blog
- DataCampBlog
- Practical Business Python
- ChrisAlbon
4. 避免使用舊資源。
對(duì)于大多數(shù)問(wèn)題,你需要的資源不能是幾年前的。在Google上搜索錯(cuò)誤的解決方案時(shí),過(guò)濾掉時(shí)間久遠(yuǎn)的結(jié)果——通過(guò)時(shí)間框搜索參數(shù),或者不要那么正式,在查看結(jié)果片段時(shí)過(guò)濾掉。

谷歌搜索工具的時(shí)間過(guò)濾搜索結(jié)果
如果你剛開始使用Python,那么2009年關(guān)于Python 2的內(nèi)容可能對(duì)你幫助不大。
API的發(fā)展史以及某事物在過(guò)去如何發(fā)展通常不是現(xiàn)在推薦的方法。你更有可能在最新的結(jié)果中找到一個(gè)適用的答案。
如果你最初的嘗試失敗了,那么在下一個(gè)關(guān)卡中,你可以瀏覽一些舊的帖子和質(zhì)量較低的網(wǎng)站。
5. 了解錯(cuò)誤代碼的含義。
下面是Python的常見(jiàn)錯(cuò)誤代碼和解釋列表。這里有一個(gè)非常好的流程圖來(lái)幫助你處理常見(jiàn)的Python錯(cuò)誤。
如果使用Python pandas庫(kù)進(jìn)行數(shù)據(jù)操作,則會(huì)出現(xiàn)常見(jiàn)錯(cuò)誤。
如果Python和pandas提供了非常有用的錯(cuò)誤消息,其中包括對(duì)錯(cuò)誤可能原因的解釋,那將是非常好的。如果有人想解決的話,這聽起來(lái)是一個(gè)有價(jià)值的項(xiàng)目!
結(jié)語(yǔ)
有了正確的心態(tài),通過(guò)一點(diǎn)指導(dǎo),再加上大量的實(shí)踐,任何人都可以學(xué)會(huì)編碼。這可能不是很快,也不容易,但希望通過(guò)閱讀這篇文章能讓編程不那么令人沮喪。
希望這10個(gè)減少挫折感和提高速度的小貼士能幫你節(jié)省時(shí)間。
同時(shí)也希望解決錯(cuò)誤消息的5步計(jì)劃能幫助你或其他人更快地學(xué)習(xí)。





























