十個小貼士!幫你節(jié)省編程時間、減少挫敗感
在堅持學習之前,筆者至少四次開始立下決心好好學習編程課程,然而都無疾而終。為此,筆者對數(shù)據(jù)科學專業(yè)學生做了相應調(diào)查,發(fā)現(xiàn)像筆者這樣情況的并不罕見。
大部分開始失敗的原因來源于學習編程緩慢而乏味的過程,以及隨之而來的挫折感。因此,掃清阻止人們成為稱職的程序員的不必要障礙是學習的第一步??倳姓系K,但沒有理由一直被不必要的障礙絆倒。
這里有10個小貼士可以幫助你更快地跨越障礙,提升能力。如果你已經(jīng)編寫了多年代碼,那么對你而言,這些技巧中的許多可能看起來微不足道或顯而易見。但是在剛剛接觸時,并不是所有東西都不言而喻。即使你從手機被稱為“移動電話”時就一直在編碼,也可能會有一兩個小貼士可以幫你節(jié)省時間。
大家一起來看看吧~
十個小貼士
1. 分屏顯示。學習編碼的大多數(shù)時候,可以將屏幕分成兩個并排的面板——一個是你在Jupyter筆記本或代碼編輯器中編寫的代碼,另一個是Web瀏覽器。使用Web瀏覽器查看文檔、教程或者訪問Stack Overflow網(wǎng)站。如果你的屏幕太小,建議買一個大一點的——如果你買得起的話。在美國,只要花100美元出頭,就可以在亞馬遜上買到25英寸的顯示器。在你越來越熟練時,會經(jīng)常想專注于一件工作。你可以使用鍵盤快捷鍵在分屏模式和全屏模式之間切換。對于Mac而言,筆者喜歡2.99美元的BetterSnapTool。
2. 排除干擾。把計算機和電話上的通知靜音。如果可以的話,把手機放到一邊。如果你在嘈雜的地方,播放一些安靜的器樂或使用消聲耳機。越集中精力,就學得越快。
3. 鍵入示例代碼。你不能指望只看一個教程就希望記住它。復制和粘貼沒有什么價值。你必須自己敲出來,再拓展它。然后根據(jù)記憶再次敲出來。“理論和實踐沒有區(qū)別。實際上就是如此。”——本杰明·布魯斯特原話——不是尤吉·貝拉。⚾
4. 連續(xù)多日學習。學習一個新的代碼概念,并在幾天內(nèi)對自己進行測試。研究表明,在長時間記憶時,隔三差五重復記憶遠比死記硬背有效得多。
5. 教學相長。清楚地向他人解釋一個概念——無論是口頭還是書面——都會迫使你理解這個概念的本質(zhì),繪制關(guān)系,并創(chuàng)建類比。如此一來,加強了大腦中關(guān)于這個的聯(lián)系。這個技巧是費曼優(yōu)秀學習技巧的一部分。
6. 使用庫之前充分理解編程語言。在嘗試使用編寫的庫之前,請充分理解編程語言。變量類型不是最令人興奮的話題。帶有屬性和方法的類可能看起來很高級。一旦你真正理解了編程語言,就更容易掌握這個庫的使用方法。這樣一來,你會少犯錯誤,省下很多時間。
7. 專注學習某一內(nèi)容。不要試圖同時學習兩種內(nèi)容,要不然你學得不止慢兩倍,會慢十倍。還有,不要因為花里胡哨的內(nèi)容而分散注意力。把這些看起來像充滿誘惑的無底洞等著你跳下去的網(wǎng)址保存到某個地方,把那些與你現(xiàn)在所學內(nèi)容無關(guān)的網(wǎng)址放在這個安全的地方。One Tab是一個便捷的Chrome擴展程序,用于保存標簽供以后使用。
8. 保證睡眠、持續(xù)鍛煉、彈性工作。讓你的大腦處于良好的狀態(tài),以形成和加強神經(jīng)聯(lián)系。了解更多技術(shù),幫助你在Memorable Python中保持敏銳。
9. 學會更快地敲代碼。⌨你越是鍵入不尋常的符號,就會越快。然而,有目的性地敲代碼可以大大加速整個過程。要買一個學習好的觸摸打字鍵盤。這里有一個來自SpeedCoder的小練習。
10. 充分了解鍵盤快捷鍵。以下是關(guān)于Chrome、Mac和Windows快捷方式的鏈接。如果你是數(shù)據(jù)科學家或數(shù)據(jù)分析師,筆者在這里為Jupyter 實驗室做了一個關(guān)于GitHub Gist的快捷鍵。為Mac或Linux終端創(chuàng)建快捷方式也是一個好主意,方法是在~/.Bash_Profile的Bash概要文件中添加以下行:alias gs=“git status”。然后重新啟動終端,輸入兩個按鍵而不是兩個字。
額外福利:如何學會快速解決錯誤
文章結(jié)束前,給大家送一個額外福利——一個5步計劃,以更快地解決錯誤。
每個程序員都會看到很多錯誤。但一旦你有了經(jīng)驗,大多數(shù)人只會聳聳肩,因為你可以在一分鐘內(nèi)解決問題。
但是,在剛剛上手時,一個錯誤可能需要20倍的時間才能解決。對于初學者來說,錯誤會讓你感覺像是在蹚過腳踝深的泥地。
pixabay
這是一個快速解決95%錯誤的計劃。
所以如果你犯了錯誤,該怎么辦?
1. 檢查拼寫錯誤——缺少括號、變量或函數(shù)拼寫錯誤。
語法高亮顯示在這里很有幫助。始終在提供代碼高亮顯示的軟件中鍵入代碼,以提高快速修復縮進能力、避免不平衡括號等類似錯誤。有很多好的代碼編輯器可供選擇。如果你剛開始,我建議你使用VSCode(占有最多市場份額)——免費且有很多方便的功能。
2. 首先關(guān)注錯誤消息堆棧跟蹤的頂部和底部。
中間的代碼通常用處不大。然后根據(jù)錯誤消息中的提示,查看代碼并確定是否可以找出錯誤所在。如果無法快速解碼錯誤消息,請將消息的最后一行復制并粘貼到Google(如果使用的是Python可以這樣做,其他語言可能在堆棧跟蹤之前有錯誤消息)。新程序員最大的錯誤是沒有足夠快地向谷歌發(fā)送錯誤信息。
3. 過濾在線資源,把“小麥”和“谷殼”分開。
這里有一些啟發(fā)式方法可以幫助你更快地找到高質(zhì)量的資源。
Stack Overflow、Medium、Reddit、Hacker News、Dev和其他在線社區(qū)都有諸如upvots或clap之類的反饋指標,以顯示哪些內(nèi)容符合目標。這些指標并不完美,但它們效果一般不錯。StackOverflow、TowardData ScienceMedium publication、GitHub問題中的repo問題、語言或庫的官方文檔是筆者找到最多解決方案的站點。
在谷歌的搜索結(jié)果中,博客的質(zhì)量是好壞參半的。如果你使用Python,筆者可以根據(jù)經(jīng)驗推薦一些好的站點:
- Real Python
- Data School
- Dataquest Blog
- DataCampBlog
- Practical Business Python
- ChrisAlbon
4. 避免使用舊資源。
對于大多數(shù)問題,你需要的資源不能是幾年前的。在Google上搜索錯誤的解決方案時,過濾掉時間久遠的結(jié)果——通過時間框搜索參數(shù),或者不要那么正式,在查看結(jié)果片段時過濾掉。
谷歌搜索工具的時間過濾搜索結(jié)果
如果你剛開始使用Python,那么2009年關(guān)于Python 2的內(nèi)容可能對你幫助不大。
API的發(fā)展史以及某事物在過去如何發(fā)展通常不是現(xiàn)在推薦的方法。你更有可能在最新的結(jié)果中找到一個適用的答案。
如果你最初的嘗試失敗了,那么在下一個關(guān)卡中,你可以瀏覽一些舊的帖子和質(zhì)量較低的網(wǎng)站。
5. 了解錯誤代碼的含義。
下面是Python的常見錯誤代碼和解釋列表。這里有一個非常好的流程圖來幫助你處理常見的Python錯誤。
如果使用Python pandas庫進行數(shù)據(jù)操作,則會出現(xiàn)常見錯誤。
如果Python和pandas提供了非常有用的錯誤消息,其中包括對錯誤可能原因的解釋,那將是非常好的。如果有人想解決的話,這聽起來是一個有價值的項目!
結(jié)語
有了正確的心態(tài),通過一點指導,再加上大量的實踐,任何人都可以學會編碼。這可能不是很快,也不容易,但希望通過閱讀這篇文章能讓編程不那么令人沮喪。
希望這10個減少挫折感和提高速度的小貼士能幫你節(jié)省時間。
同時也希望解決錯誤消息的5步計劃能幫助你或其他人更快地學習。