程序員必須掌握的10個提高效率的編程習慣

00、寫在前面

最近有讀者反映學習編程困難,想放棄,詢問是不是真的有不適合編程的人?我結合最近自己的學習經歷和思考以及最近在數據結構與算法的折磨下得出的一些心得。

唐代大臣魏徵的【諫太宗十思疏】中寫道,“善始者實繁,克終者蓋寡”。大概的意思是:如果有好多人同時做一件事情,善於開始去做的人是非常多的,但是能夠把這件事做好的人就寥寥無幾了。

這句千古名言可以說是非常經典了,用來形容學習編程的過程同樣適合。在成為專家大佬甚至科學家之前,困難會一直伴隨著你,有多少人放棄可想而知,所以才會有了另一句【行百里者半九十】。

在這篇文章裡,給所有的編程者提供了 10 個真實有用的建議。

程序員必須掌握的10個提高效率的編程習慣


01、雙屏分屏

如果經濟條件負擔得起的話,我真的建議搞一個雙屏幕。

程序員必須掌握的10個提高效率的編程習慣


但是如果實在負擔不起的話,分屏也是可以的,當然屏幕不能太小,,,

在大多數情況下,學習編程時最好把有兩個並排的面板可以使用——一個給你的 Jupyter notebook 或者 vscode;而另一個則是 Google Chrome 瀏覽器。IDE用來編程編譯運行查看代碼結果,瀏覽器用來查看文檔、CSDN、知乎或者 Stack Overflow 和一些教程博客等等。等你漸漸熟悉了這一切之後,越來越熟練時,你就會無法逃離這種專注於工作的感覺了,而且非常之方便(爽)。

PS:如果想用快捷鍵來切換分屏和全屏,可以看下面的兩個動圖:

  • Windows:
程序員必須掌握的10個提高效率的編程習慣

  • Mac:
程序員必須掌握的10個提高效率的編程習慣


02、手機靜音

這麼多年摸爬滾打,經過九年義務教育和考研的洗禮,我覺得成功一個決定性的因素就是【專注】。

程序員必須掌握的10個提高效率的編程習慣


讓你的手機靜音,尤其是你的微信。如果可以的話,把手機拿開,放到另一個屋子去;如果不可以的話,就把手機設置成靜音而不是震動;如果在嘈雜的環境,就播放安靜的純音樂(鋼琴曲之類的)或者使用降噪耳機;如果你不能容忍太過乾淨的環境的話,就可以放一些白噪聲或者雨林等等。

你越能專注集中注意力,你就越能學得快,越能學的好。


03、只學一個

雖然越來越多的信息出現在互聯網上,越來越多的付費課程,越來越多的博客,越來越多的專業,其中最為明顯的就是【人工智能】。

程序員必須掌握的10個提高效率的編程習慣


你需要【英語】,【python】,【框架】,【理論】,【第三方庫】,【顯卡】,還得搞【競賽】,【項目】,【論文】。

不要試圖同時開多個科目,比如學習兩個或者三個,這樣時間就不只是變成1/2或者1/3,而是變成1/5甚至1/10,同時效率也會受到影響,因為人的大腦會存留記憶。同理, 不要分心於閃閃發光的誘人的但和你正在學習的東西不相關的東西,如果真的很感興趣,就找個地方,保存一下 url,比如Chrome 的書籤,

程序員必須掌握的10個提高效率的編程習慣


或者是插件 One Tab 都很好用。

程序員必須掌握的10個提高效率的編程習慣



04、學會溝通

在你學習編程的過程中,會試圖封閉自己,什麼都自己完成,你猜怎麼著?

效率不高。

程序員必須掌握的10個提高效率的編程習慣


要學會使用社變相區和夥伴,比如,如果有一個朋友和你一起合作,你會學習得更快(同輩壓力和更多溝通)。

當和他人合作時,個人程序的缺點就會暴露出來,所以你學會編寫更有效的代碼,因為有人在變相地監視你。可能最開始你會極度不適應,但是作為一個程序員,總有人在審查校驗你的代碼,所以習慣這些。


05、精力管理

其實如果你有過一陣子的經歷,就應該知道程序員絕對是一個體力活,所以睡覺,保持體力是一件多麼重要的事就不言而喻了。

程序員必須掌握的10個提高效率的編程習慣


大多數人在下午時間的效率都低,而上午時間大腦則處於最好的狀態,之前看一個Facebook工程師說他們培訓的時候也是這麼教的,就是學會給今日的 to do list 做一個優先級序列,在上午先去做優先級高的任務,可見精力管理是多麼重要。

另一個小故事,Dinesh教授有一個,保持了幾十年的習慣,就是(平均)每天只睡4個多小時,可以說是智力超群、體力超群、習慣超群。。。恐怖如斯,體力的競爭上老外明顯要更強,中國人重視程度還是差一些,反正我自己是深有體會,加強中,每天跳跳繩也是好的。


06、示例代碼

現在資源氾濫的時代,代碼一抓一大把,GitHub或者博客,再或者書籍源代碼,琳琅滿目的。

程序員必須掌握的10個提高效率的編程習慣


現在擺在你面前的是一些代碼,你能看得懂,是的,是能看得懂,但是你能寫出來嘛?答案自然是。。。不能的,【光看不練假把式】,古人誠不欺我也~

親手去把那些示例代碼敲一遍吧,須知【好記性不如爛筆頭】。


07、溫故知新

相信大家第一想到應該是大名鼎鼎的艾賓浩斯記憶曲線。

程序員必須掌握的10個提高效率的編程習慣


其實新背的單詞或者剛學的知識概念,從你學完的那一刻起就開始遺忘了,這就是所謂的【打開書馬冬梅,合上書孫紅雷】。

研究表明,如果不抓緊複習,最後就只能記得剩下的21%,所以要每隔一段時間,就重複一次,這是比死記硬背有效得多的。


08、用快捷鍵

常用快捷鍵的人效率確實要比別人高,比如PPT。

程序員必須掌握的10個提高效率的編程習慣


這裡整理了一份快捷鍵,當然還有其他的快捷鍵,比如:

pycharm:

程序員必須掌握的10個提高效率的編程習慣


jupyter notebook:

程序員必須掌握的10個提高效率的編程習慣


網上一搜索一大堆,關鍵是學會熟練使用。


09、語言基礎

在使用官方或者個人編寫的程序庫之前,要充分理解一門編程語言,比如python或者C++。

程序員必須掌握的10個提高效率的編程習慣


當你接觸底層書寫的時候,你會發現真的很無聊同時又很難,而直接調用屬性和方法的類似乎又高級又容易。但是如果你不能很好地理解了編程語言,那麼你就會陷入抽象洩露的情況之中,你無法搞清楚庫在幹什麼,只是單純地會調用,也就是江湖人稱的調包俠。


10、代碼錯誤

在絕大多數時候,作為一個程序員,你都是在尋找項目中的 Bug,否則你無法繼續前進。

程序員必須掌握的10個提高效率的編程習慣


過程如下,首先讀讀錯誤信息,看看能不能看得懂:

  • 比如是不是代碼打錯了
  • 是不是舊版本資源

如果都不是,那麼可以直接複製錯誤信息,去使用百度或者谷歌,再或者博客論壇之類的去查詢你的錯誤,對網絡資源進行篩選,以分清哪些是有效的。

程序員必須掌握的10個提高效率的編程習慣


再不行,可以 debug 查看輸出結果,確定錯誤為止,一遍解決問題。

當然一些低級錯誤除外,主要是不熟悉導致的,比如C++的分號,Python的縮進。

程序員必須掌握的10個提高效率的編程習慣


如果有幸幫到你,請幫我點個【贊】,給個【關注】!如果能順帶【評論】給個鼓勵,我將不勝感激。



分享到:


相關文章: