讀書有三到,謂心到,眼到,口到。- 朱熹《訓學齋規》程序員
我出生時,父親爲我取名「劉光雲」,承「光」輩,單字「雲」。但自上學以後,便「不知所云」。有一天語文老師說文解字道:「聰者,耳到,眼到,口到,心到也」。判若相識恨晚的感受,我對「聰」字「情有獨鍾」,隨將本身的名字改成「劉光聰」。設計模式
說來也巧,自那以後,媽媽再也沒有擔憂過個人學習了。框架
耳到,擇其善者而從之,擇不善者而改之。有人習慣於巨函數,大邏輯,問究爲什麼如此,美其名曰:都是爲了效(hai)率(zi);而我更偏心具備層次感的代碼風格,短小精幹,意圖明確。less
他人的經驗當然重要,但須要咱們本身「選擇性」地接收,而不是一味的聽取。不要爲大師所迷,大師有時也會犯錯。關鍵在於自我思考,善於辨別。尤爲在這個浮躁的世間裏,能在地上跑的都喊本身是「大師」。函數
眼到,掃除外物,直覓原本也。一眼便能看到的都是假象,看不到,摸不着的每每纔是本質。有人習慣平鋪直敘的的邏輯,任其重複;而我更加偏心抽象,並將揭示本質過程當成一種享受。學習
抽象,當然存在複雜度。但這樣的複雜度是存在上下文的,若是你們具備相似的經驗,抽象天然就變成了模式。那是一種美,一種溝通的媒介。測試
若是對方缺少上下文,抽象天然是困難的。所謂「簡單」,是問題本質的揭示,併爲此付出最小的代價;而不是平鋪直敘,簡單是那些門外漢永遠也感覺不到的美感。spa
過而不及,盲目抽象,必然增長沒必要要的複雜度。猶如大規模的預先設計,暢談客戶的各類需求,暢談軟件設計中各類變化,盲目抽象。設計
口到,傳道,授業,解惑也。分享是一種生活的信念,明白了分享的同時,天然明白了存在的意義。我喜歡分享本身的知識,並將其當成一種學習動力,督促本身透徹理解問題的本質。代碼規範
由於可以分享,因此知識天然變成了本身的東西。每日的Code Review
,我經常鼓勵團隊成員積極分享,一則爲了促就無差別的團隊,二則協助分享者透徹問題的本質。
要讓別人信服你的觀點,關鍵是要給別人帶來信服的理由。分享的同時,可以幫助鍛鍊本身的表達能力,這須要長時間的「刻意練習」。
心到,學而思之,思則得之,不思則不得也。只有經過本身獨立思考,概括總結的知識,纔是真正屬於本身的。
我偏心使用「圖表」來總結知識,一方面圖的表達力遠遠大於文字,另外,經過畫圖也逼迫本身可以透徹問題的本質。
代碼須要消除重複,工做的習慣也要消除重複。不要拘於固有的工做狀態,重複的工做狀態每每令人陷入舒服的假象,陷入「三年效應」的危機。
首先咱們學習的不是「信息」,而是「知識」。知識是有價值的,而信息則沒有價值。只有經過本身的篩選,提煉,總結纔可能將信息轉變爲知識。
知識是容易忘記的,只有將知識付諸於行動,並將其融匯到本身的工做狀態中去,才能永久性地成爲本身的財產。
例如,快捷鍵的使用,不要刻意地去記憶,而是變成本身的一種工做習慣;不要去重複地勞動,使用Shell
提供自動化程度,讓Shell
成爲工做效率提高的利器,並將成爲一種工做習慣。
咱們須要經常更新既有的知識體系,尤爲咱們處在一個知識大爆炸的時代。我痛恨那些信守教條的信徒,舉個簡單的例子。
陳舊的「代碼規範」經常要求if (NULL != p)
這樣的YODA Notation
習慣用法。可是這樣的表達編譯器是高興了,但對程序員是很是不友好的。
「if you are at least 18 years old」明顯比「if 18 years is less than or equal to your age」更加符合英語表達習慣。
有人駁論此這個習慣用法,可是現代編譯器對此類誤用一般報告警告;並且保持TDD
開發節奏,小步前進,此類低級錯誤很難逃出測試的法網。
學,而後知不足;教,而後知困。不要停留在原點,應該時刻重構本身的知識體系。
在剛入門OO
設計的時候,我無處不用「設計模式」;由於我看到的全部書籍,都是在講設計模式如何如何地好。直至後來看到了「演進式設計」,「簡單設計」和「過分設計」的一些觀點後,讓我從新迴歸到理性。
後來,我也學習了「函數式」的一些思惟,而且爲其「組合式」設計的魅力所折服。曾經一個忠實的OO
信徒,也成爲了FP
的粉絲。
人的精力是有限的,一我的不可能掌握住世界上全部的知識。與其在程序設計語言的抉擇上猶豫不決,不如透徹理解方法論的內在本質;與其在衆多框架中懸而未決,不如付出實際,着眼於問題自己。
總之,博而不精,不可不防。
系統學習很是重要,推薦ThoughtWorks
的讀書雷達,2016
讀書雷達更新爲新的四象限。