為此,可汗學院計算機科學學院院長暨jQuery創始人John Resig撰文分享了自己的心得和體會。現在,讓我們看看John Resig是如何做到每天都寫代碼的,首先他給自己定下了幾條規則:
1. 每天必須寫代碼。可以寫文檔、博客或者其他的文章,但是必須要加進自己寫的代碼。
2. 代碼必須是有用的。不要格式化、重構的代碼。
3. 代碼必須在午夜之前寫好(為了避免不想熬夜而草率地寫代碼)。
4. 代碼必須是開源的,且要放到Github上(這樣強迫自己小心寫代碼,并會考慮代碼重用性及怎么創建項目前期的模塊)。
當然,以上這些規則是靈活的。John Resig之所以制定這么嚴格的規則,是想提高自己業余項目的開發效率。他已經在連續20周的時間里每天寫代碼,這給他帶來了好的工作習慣。鑒于此,John Resig為大家分享了自己堅持每天做業余項目后的心得體會:
利用最小化的時間寫好代碼。我強迫自己每天花不少于半個小時來寫代碼(這真不是一件容易的事,尤其還得回憶前一天寫了什么),在工作日期間一般不超過一個小時,但在周末我會花多一些時間做業余項目。
讓寫代碼成為習慣。要知道我并不關心自己在Github上的排名,因為我覺得做業余項目是自己的事,不要為了取悅別人而做。減肥和鍛煉也是同樣的道理,如果你不在乎提升自己,你永遠都不會取得成功。
與不良情緒作斗爭。在開始實施每天寫代碼的計劃前期,我時常焦慮項目沒有很大的進展,畢竟業余項目沒有時間限制。后來我意識到有這樣的不良情緒對項目進展一點幫助都沒有,反而會阻礙。所以要與不良情緒作斗爭,現在我能心平氣和地完成大量的工作,再也不會像以前那樣為工作的事情忙得焦頭爛額了。
安排、利用好周末時間。對大多數人來說,利用周末時間做業余項目是項目取得大進展的絕好機會。而對于我來說,如果直到周末業余項目才能做好我會對自己很失望。之前我很少能完成所有自己想做的工作,這也就強迫自己不參加諸如參觀博物館、游公園等自己喜歡的周末娛樂活動,把時間留給工作。然而現在我強烈地意識到盡管業余項目很重要,但是也不應該忽略個人生活,所以學會安排時間很重要。
潛意識思考。每天做業余項目寫代碼有一個有趣的副作用,那就是大腦會在潛意識里思考。因此,當我在散步、淋浴或從事其他非腦力活動時,我還在想著下一步代碼該怎么寫、出現問題了有什么解決的好方法,以前我每星期或者隔一個星期寫一次代碼從沒出現過這樣的情況。時間用來思考自然就不會再為業余項目取得的進展少而焦慮了。
每天寫一點代碼不易忘。當接頭做業余項目時總要付出“上下文切換”的代價,然而不幸的是思考是很難接上頭的。所以我每天都做一點業余項目,讓自己不容易忘記。
管理好時間,平衡工作、生活、業余項目。現在的我已簡單地學會了如何更好地維持工作、生活、業余項目的平衡,我知道自己每天都要做業余項目,所以我會更好地管理時間。如果我晚上有活動且很晚才能回家,那么我會在開始工作之前就做好當天的業余項目。假如當天的業余項目沒有做完,那么不論多晚我都會完成,做到今日事今日畢。
要及時跟外界溝通。當自己養成了新的習慣后跟外界溝通這是很有好處的。我的伙伴們都知道我每天寫代碼這個習慣,因此有活動安排時我會跟他們說:“等我寫完代碼再去。”他們一點都不會介意也很理解我的行為。
代碼積少成多。我很難相信自己在過去的幾個月寫了很多的代碼。我新建了幾個網站,重新寫了框架并創建了大量節點模塊。我已經寫了這么多以至于有時我都忘記自己寫了些什么,但是我真的很高興我寫了這么多的代碼。
好的習慣能帶來巨大的成功,像每天寫代碼做業余項目這件事只要你堅持做下去,一定會有意想不到的效果。