繼「賞碼會」以後,最近和團隊開始嘗試一種新的技術活動形式——「書友會」。簡單來講,就是一塊兒選出一些經典的技術書籍,線下閱讀,當面討論,共同進步。文末有具體的活動形式,歡迎到個人留言板交流。html
做爲「書友會」的第一期書籍,咱們選擇的是《代碼整潔之道》(後面簡稱《整潔》)。在我看來,《整潔》和另外兩本經典之做《代碼大全》,《重構:改善既有代碼的設計》,是每個程序員入行必讀的三本基礎技術書籍。這三本書可以幫助你創建正確的編程理念,養成良好的編程習慣。我建議能夠按照《代碼》,《重構》,《整潔》的順序進行閱讀。相對另外兩本書,《整潔》涉及的面更廣一些,內容也更有深度,比較適合有1~2年實際編程經驗的程序員。不過即使是更資深的程序員,相信也能從中有所收穫。我第一次讀這本書仍是在2010年,時隔7年重讀這本經典之做,仍然感受歷久彌新。在介紹這本書以前,咱們先來了解一個跟簡潔有關的普適性原則。git
奧卡姆剃刀定律(Occam's Razor)又稱「奧康的剃刀」,它是由14世紀邏輯學家、聖方濟各會修士奧卡姆的威廉(William of Occam,約1285年至1349年)提出。這個原理稱爲「如無必要,勿增實體」,即「簡單有效原理」。正如他在《箴言書注》2卷15題說「切勿浪費較多東西去作,用較少的東西,一樣能夠作好的事情。」 -- 百度百科程序員
對應到編程,奧卡姆剃刀原則至少對咱們有兩個啓示:github
如無必要,勿增實體。一個常見的反例就是代碼前大段的註釋,《整潔》告訴咱們,最好的註釋是沒有註釋,在你寫下大段註釋以前,應該反思一下是否是有更簡單的設計。shell
對於同一個需求,若是有兩種實現方案,選擇那個簡單的。網上常常能夠看到一些裝逼的代碼,好比這篇,複雜的方案不只增長了理解成本,更要命的是讓問題變得更隱蔽。編程
《整潔》這本書雖然章節頗多(算上附錄A有18章),但每章內容並很少,平均半小時左右就能夠讀完一章,而且章節之間相互獨立,打亂順序閱讀也無妨。爲了保證討論質量,咱們總共分了4次(每週1次)進行逐章討論,每次3~6章,時間控制在2小時之內。總的來講,輔以配圖和代碼,整本書的閱讀體驗很流暢,到處閃耀着大師們的編程智慧,摘錄一二以下:spa
童子軍軍規:讓營地比你來時更乾淨。設計
整潔的代碼從不隱藏設計者的意圖。htm
讀和寫花費時間的比例超過10:1。寫新代碼時,咱們一直在讀舊代碼。blog
整潔的代碼老是看起來像是某位特別在乎它的人寫的。
勒布朗法則:稍後等於永不。
若是代碼不能保持整潔,你就會失去它們。
最後一句是我加的,哈!想要了解更多整潔之道?快去閱讀《代碼整潔之道》吧。
目的:
閱讀經典,精進實踐能力,提高思考維度
在碎片化閱讀的當下,培養靜心讀書的定力
目標:
寫一篇讀書筆記
結合書本動手作一些實驗
形式:
每週一次,每次很多於2小時,全體參加
每期書友會開始以前,選擇一人做爲主席,每人(包括主席)做爲講師認領若干章節
主席負責肯定講師,制定當期讀書計劃(分多少次,每次涉及章節)
每次活動開始前,全部人按讀書計劃提早讀完讀完計劃內的章節
每次活動開始後,按讀書計劃前後由各位講師主持小組討論,交流讀書心得