jQuery之父:每天都寫點代碼

來源:互聯網
上載者:User

標籤:android   c   style   blog   a   http   

去年秋天,我的“兼職編程項目”遇到了一些問題:要不是從 Khan Academy 的項目裡挪出時間來的話,我根本沒辦法將不理想的進度彌補上。

這些項目遇到了一些嚴重的問題。之前的工作我主要是在周末,有時是工作日的晚上做。但最終證明,這樣的工作安排並不適合我。為了在周末儘可能地嘗試完成高品質的工作,我壓力巨大(如果我做不到的話,會有很深的挫敗感)。這樣安排的問題在於周末並不一定都有空–而我也不想周末兩天都在寫代碼(要犧牲掉所有的休閑和樂趣)。

另外一個問題就是隔了一周這麼長的時間之後,很容易會忘掉上個周末在做什麼、還有什麼沒做(即使做了備忘也會這樣)。更不用說萬一某個周末什麼代碼都沒寫,那就要隔兩周了。間隔太長的話對於項目來說是致命的(我有好多兼職項目就這麼掛掉了)。

Jennifer Dewalt 去年完成了一項創舉,她在180天裡完成了180個網站。我深受啟發,因此我強迫自己採用類似的策略:那就是每一天都要花時間在兼職項目上。

於是我為自己定了一些規矩:

  1. 我必須每天都寫點代碼。我可以寫文檔、博文或者其它的東西,但必須是在寫了一些代碼的基礎上。
  2. 寫的代碼必須是有用的。不調整代碼縮排,不轉換格式,如果可能的話絕不重構代碼。(這些事情都是允許的,但不能作為當天僅有的工作。)
  3. 所有的代碼都必須在午夜前完成。
  4. 代碼必須是開源的並且放在Github上。

部分規矩執行起來並不是那麼嚴格要求的。並不是說只能在午夜前才能寫代碼,只是不想熬夜然後寫出來的代碼卻馬馬虎虎的。代碼也並不是一定要開源或者放在Github上。這麼做只是為了讓我對自己寫的代碼印象更深刻(以便於重用代碼、為之前寫的代碼建立模組)。

至今為止效果非常好,我已經連續堅持了20個星期了。我寫代碼的習慣得到了徹底改變,我的生活品質和精神狀態也得到了很大的提升,因此我想把這段經曆寫下來。

習慣的改變帶來了以下不少有意思的影響:

最小量的可行代碼 每天我都強迫自己至少要寫30分鐘的代碼(時間太少的話真的很難寫出有意義的代碼,尤其是在花時間記起前一天是在哪裡停止的之後)。有些工作日我會多寫點時間(通常不超過1小時),而周末的話有時能寫一整天。

讓編碼成為習慣 值得一提的是我並不特別在意上面這張Github工作記錄表會給別人什麼樣的印象。我覺得最重要的一點是:你做出這樣的改變是為了你自己的生活,而不是為了讓別人對你的工作感到滿意。這個道理對於減肥或者健身也適用:如果你不是以提升自己為目的的話,你是不會成功的。

與焦慮做鬥爭 在作此嘗試之前,我經常會很焦慮,總覺得做的工作“不夠多”,完成的進度“不夠多”(其實這兩者都是無法衡量的,因為我的兼職項目都沒有特定的期限)。我意識到要做出進展的感覺其實和做出實際進展是同樣重要的。這讓我豁然開朗。自從我每天持續不斷地做出進展之後,焦慮感也漸漸消失了。看著每天都有完成工作量,內心感到很平靜。再也不會憂心重重地覺得還要完成更多的量才行。

周末 在周末完成工作對於推動工作進度來說曾是十分重要的(那時周末是我唯一能夠很好的完成編碼工作的時間)。現在情況發生了改變–好的改變。制定好周末必須要完成哪些工作的做法除了最後讓我感到失望之外別無他用。我幾乎就沒完成過周末計劃表上的事情,而為此我還不得不拒絕其它我喜歡的周末活動(吃點心、參觀博物館、逛公園、陪妻子等等),就只是為了能完成更多的工作。我深深地覺得,就算兼職項目真的很重要,它們也不應該成為生活的唯一。

後台運行 每天寫點兼職項目代碼會帶來一個有趣的副作用,它讓你覺得這些工作都是在大腦的後台啟動並執行。因此,當我在散步、洗澡或者做其它不需要耗費腦力的事情時,我就會在考慮之後我要寫什麼代碼、要怎麼解決遇到的問題。這種情況在我一周寫一次代碼或者隔周寫一次代碼的時候是沒有發生過的。那時時間都被消耗在思考其它事情上,通常是在為還沒完成工作而感到焦慮。

上下文交換 中斷後又繼續開始兼職項目的時候總是會有上下文交換時那樣的損耗發生。很不幸的是做了一周其它工作之後再回到之前的項目上來總是會非常困難。而持續的每天工作對減少這種損耗就很有協助,因為時間間隔要短得多,要記起前一天在做什麼很輕鬆。

工作的平衡 這種改變帶來的最重要的一點就是讓我學會了如何更好地平衡本職工作、生活和兼職項目。知道我要每一天都花時間在兼職項目上,我就必須更好地平衡分配時間。如果我計劃晚上出去並且要很晚才回來,那我就需要在當天早些時候做兼職部分的工作,而將主要的Khan Academy的工作放到後面再做。另外如果我還沒完成工作而又在晚些的時候出去了,那我就得趕緊回家做完它(而不是又錯過一天)。我要指出一點,一直以來我都發現能花在業餘愛好(譬如雕版印刷)上的時間變少了,但是這對於維持生計來說是很合理的交易。

給別人的印象 這是我要說的改變帶來的最重要的一個好處。我妻子理解我每天都得完成一些工作,因而有時活動安排要圍繞著這些工作展開。當能夠對她說“是的,我們可以出去看電影什麼的。但我之後必須要寫代碼。”,而她也表示理解並且安排時間時會將寫代碼的事考慮進去,這讓我感到非常舒服。

之前寫了多少代碼? 我不知道過去的幾個月裡一共寫了多少代碼。我建立了幾個網站、重寫了一些架構、寫了一堆新的節點模組。寫的代碼太多了我有時會不記得寫了什麼–幾周前寫的東西看起來確實非常遙遠了。我對已完成的工作量相當地滿足。

我將這種習慣上的改變視為很大的成功,希望我能日複一日地堅持下去。同時我也會儘力向其他想做很多兼職項目人推薦這種策略。不管這對你有沒有協助,都請聯絡我,我很想聽聽你們的故事。

摘自http://www.apkbus.com/android-8841-1.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.