《卓有成效的程序员》读书笔记
在今年的的ThoughtWorks China away day上,我見到了這本書的作者neal ford, 我們還有過簡單的交流,并一起去爬了長城。慚愧的是當時我并沒有讀過他寫的這本書。直到今天我拿到了這本書,并花了大半天的時間通讀了一遍。看完以后,我覺得這本書真是太好了,非常值得一讀。
但是,我想讀這本書的讀者,大體會分為兩個反應。一種是看了一下前面,覺得沒有意思,大概翻了翻,發現作者真是太羅嗦了,就丟到了一邊。另一種是愛不釋手的從頭看到尾,看到有些段落會會心一笑,有些段落則加上重重的標記,并決定馬上就要開始實踐。
如果換做半年前的我,我是第一種反應,而現在,我當然是第二種反應。主要是這半年在ThoughtWorks的歷練,使我變得越來越有成效。列舉一個真實的例子。在我的前一個項目中,我們做的產品是一個提交保險單的系統,用戶要講過一個一個的page flow直到完成一個保單。如果我要開發的或者測試的feature在第7頁上,我每次都需要輸入大量的數據,點擊大量的按鈕從第一頁走到第7頁。試想每天要重復N次真讓人崩潰。后來有人就寫了一個JavaScript腳本,可以一次填充一頁的數據,并自動跳到下一頁。我們把這個腳本保存到一個bookmark上,每次只要點擊6下就能到第7頁。
也許你們說這樣已經簡化很多了,但是追求卓越的我們并沒有止步。我后來了解了selenium IDE這個在firefox下的插件。這個插件作者在書中有提到過。我用selenium IDE錄制了一個腳本,只需要點擊一個按鍵,程序就會自動的走到第7頁。這樣比手動輸入速度至少提高了10倍以上。正如作者所說,我們這樣的盡量實現自動化操作節省時間不是第一目標,最重要的目標是不要讓程序員在一遍遍的手動操作中變傻,而是讓我們精力變的更加集中,focus到更具有價值的地方上去。
我覺得每個程序員都想變得高效,但是面對新的方法,新的工具總是或多或少有點畏懼心理,這是因為他們無法體會到采用一種新方法或者新工具帶來的震撼的效果。所以對于我們程序員來說絕對要勇于嘗試,勇于突破現狀。
回顧了一下作者在書中列舉的自己感興趣的東西,順便對自己做一個總結。(本人使用的是mac pro,所以tool和plugin只關心mac上的。)
加載器。作者介紹了quicksilver,而我使用的是launcher。我一般使用它快速打開某個application,還有嘗試其他功能,接下來要好好挖掘下。
剪貼版。我還真不知道可以有多個寄存器的剪貼板,out了,立馬download了jumpcut,打算試用。
IDE 快捷鍵。身為程序員每天與IDE打交道最多了,一定要熟練運用每一個快捷鍵。作者提到了快捷鍵我基本都在用。
搜索優于導航。使用command line來進行各種搜素是我的短板,可憐的我只會基本的shell命令,這部分需要加強。
虛擬桌面。這個還真沒嘗試過。
自動化法則。我們已經使用了一些自動化技術,比如使用maven或rake來運行build,使用selenium來構建web自動化測試。但是和作者書中講到的還差很遠。
規范性法則。目前我們只實現了將部分配置信息統一管理起來,這一方便還有很大的提高。
TDD。在我們公司,如果你寫了一段沒測試的代碼,你的pair會毫不留情的喊你全部刪掉,先寫測試,再寫實現。?
代碼的度量。目前我們有一些測試覆蓋率之類的度量,但是圈復雜度這些還是一片空白。
靜態分析。這塊在我們項目中是一片空白,我已經把它記到sticker,強烈需要馬上應用。
元編程。正在學習groovy,ruby等動態語言,只是看到了元編程的妙處,還沒有切身體會。
多語言編程。好吧,我承認這是目前的趨勢,當我嘗試了ruby on rails是如此高效時,我已經對它欲罷不能了。
作者總結了這個多,我也給大家推薦一個愛不釋手的tool:一款瀏覽器插件vimium,支持chrome和firefox。這是一款很酷的插件,能讓你瀏覽網站的速度至少提高50%,你再也不用用鼠標去點擊你想訪問的鏈接,使用vimium只需要按幾個鍵就行。借用作者的一句話,沒有它我都不知道該怎么瀏覽網頁了。
from:?http://www.huangbowen.net/blog/2012/11/11/%3C%3Czhuo-you-cheng-xiao-de-cheng-xu-yuan-%3E%3E-du-shu-bi-ji/
總結
以上是生活随笔為你收集整理的《卓有成效的程序员》读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库范式解析(1NF 2NF 3NF
- 下一篇: 在ThoughtWorks工作两个多月的