GitHub連擊500天:讓理想的編程成為習(xí)慣

盡管之前已經(jīng)有100天、200天、365天的文章,但是這不是一篇象征性的500天的文章。對這樣的一個事物,每個人都會有不同聽看法。有的會說這是一件好事,有的則不是。但是別人的看法終究不重要,因為了解你自己的只有你自己。別人都只是以他們的角度來提出觀點。

在這500天里,我發(fā)現(xiàn)兩點有意思的事,也是總結(jié)的時候才意識到的:

  1. 編程的情緒周期
  2. 有意圖的練習(xí)

那么,當(dāng)我們不斷地練習(xí)的時候,我們就可以寫出更好的代碼。

500天小結(jié)

我想你也聽過一萬小時天才理論的說法:要成為某個領(lǐng)域的專家,需要10000小時。而在這其中每重要的一點是有意圖的練習(xí)——而不是一直重復(fù)性地用不同的語言去寫一個相同的算法。如果我們有一天8小時的工作時間 + 2 小時的提高時間,那么我們還是需要1000天才能實現(xiàn)一萬小時。

500天與10000小時

當(dāng)然如果你連做夢也在寫代碼的話,那么我想500天就夠了,哈哈~~。

Gtihub 500
Gtihub 500

雖然不是連擊次數(shù)最多的,但是根據(jù)Most active GitHub users 的結(jié)果來說,好似是大陸提交數(shù)最多的人,沒有之一。再考慮到提交都是有意義的——不是機器刷出來的,不是有意識的去刷,我覺得還是有很大成就感的。

而要實現(xiàn)500天連擊很重要的兩點是:時間和idea。但是我覺得idea并不是非常重要的,我們可以造輪子,這一點就是在早期我做得最多的一件事,不斷地造輪子——如《造輪子與從Github生成輪子》一文中所說。除此,你還可以用《GitHub去管理你的idea》,每當(dāng)你想到一個Idea以及完成一個idea的時間你就會多一次提交。

時間則是一件很諷刺的事,因為人們要加班。加班的原因,要么是因為工作的內(nèi)容很有意思,要么是因為錢。如果不是因為錢的話,為什么不去換個工作呢?比如我司。看似兩者間存在很多的對立,但是我總在想技術(shù)的提升可以在后期解決收入的問題,而不需要靠加班來解決這個問題。人總是要活著的,錢是必需的,但是程序員的收入都不低。

編程的情緒周期

接著,我觀察到了一些有意思的現(xiàn)象——編程的情緒周期也很明顯。

所謂“情緒周期”,是指一個人的情緒高潮和低潮的交替過程所經(jīng)歷的時間。

如下圖所示的就是情緒周期:

情緒周期
情緒周期

簡單地來說,就是有一個時間段寫代碼的感覺超級爽,有一個時間段不想寫代碼,但是如果換一個說法就是:有一個時間段看書、寫文檔的感覺很爽,有一時間段不想看書、寫文檔的感覺。這也就是為什么在我的GitHub首頁上的綠色各種花。不過因為《物聯(lián)網(wǎng)周報》的原因,我會定期地更新一個相關(guān)的開源項目。

但是總來說,我習(xí)慣在一些時間造一些輪子、創(chuàng)建文檔,這就是為什么我的GitHub會有一些開源電子書的緣故。

有意圖的練習(xí)

編程需要很長的學(xué)習(xí)時間,也需要很長的練習(xí)時間。盡管我是從小學(xué)編程,自認(rèn)為天賦不錯,但是突破了上個門檻還是花費了三四年的時間。其中的很大一部分原因是,沒有找對一個合適的方向。而在這期間也沒有好好的練習(xí),隨后的日子里我意識到我會遇到下一個門檻,便開始試圖有意識的練習(xí)。

在我開始工作的時候,我寫了一篇名為《重新思考工作》的文章。在文章中我提到了幾點練習(xí)的點:

  • 加強碼代碼的準(zhǔn)確性
  • 寫出更整潔的代碼
  • 英語口語 (外企)
  • 針對性的加強語言技能

在一些日子的練習(xí)后,我發(fā)現(xiàn)這還是太無聊了。天生就喜歡一些有意思的東西,有趣才更有激情吧~~。不過,像下圖的打字練習(xí)還是挺有意思的:

打字練習(xí)
打字練習(xí)

還是能打出了一堆錯誤的字符。但是對比了一下大多數(shù)人的人,還算不錯,至少是盲打。但是,還是存在著很大的提升空間。

隨后,我開始一些錯誤的練習(xí),如對設(shè)計模式和架構(gòu)的練習(xí)。試圖去練習(xí)一些在生產(chǎn)上用不到的設(shè)計模式,以及一些架構(gòu)模式。而這時就意味著,需要生搬一些設(shè)計模式。最后,我開始以項目為目的的練習(xí),這就是為什么我的GitHub上的提交數(shù)會有如此多的原因。

預(yù)見性練習(xí)

還有一種練習(xí)比較有意思,算是以工作為導(dǎo)向的練習(xí)。當(dāng)我們預(yù)見到我們的項目需要某一些技術(shù),我們可能在未來采用某些技術(shù)的時候,我們就需要開始預(yù)見性的練習(xí)這些技術(shù)。

好的一點是:這些項目可能在未來很受初學(xué)者歡迎。

總結(jié)

每個人都有自己的方向,都有一個不錯的發(fā)展路線,分享和創(chuàng)造都是不錯的路。

THE ONLY FAIR IS NOT FAIR . ENJOY CREATE & SHARE.

歡迎關(guān)注我的GitHub: https://github.com/phodal。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容