|
只要功夫深,鐵杵磨成針。 ──宋·祝穆
在我們咨詢過程中,遇到一些開發技術很薄弱的團隊,大部分人只會通過復制和粘貼的方式寫代碼,然后花費大量的時間進行修改和調試。有些開發人員還只是剛剛從學校畢業,幾乎沒有什么開發經驗。面對這樣的團隊,如何教他們使用敏捷開發方法?如何教他們測試驅動開發?如何教他們簡單設計呢?
如果連一門語言還沒有完全吃透,還如何談測試驅動開發和簡單設計呢?這是一個很大的挑戰。我回想起自己學習新語言的方法。前些時間我自學了Scala語言,看完了《Scala程序設計:Java虛擬機多核編程實戰》,但還是覺得很多概念沒有吃透,然后我就把書合上,然后把書上所有的例子獨立寫了一遍,這時才能感覺自己是學了一門語言。于是我用同樣的方法來訓練這個團隊:
一、找一本合適的書。
如果要快速吃透一門語言,最快的方法就是找一本好書,系統的把一門語言學習一遍,掃除語言的盲點。我們如何選擇一本合適的書呢,我總結了三個條件:
- 選擇國外大師的權威著作,這些大師應該有深厚的開發經驗,這樣可以從書上學到很多編程和設計的最佳實踐。
- 書不能太厚,最好在200-300頁左右,足夠介紹完一門語言的常用特性和最佳實踐。那些面面俱到的的厚磚頭一般適合做參考手冊。
- 書上的例子一定要經典,這樣比較適合練習。
因為團隊主要使用C語言,我就在Google上搜索了一下“C書籍推薦”,找到了很多網友推薦的Top C語言書籍。通過我幾天的閱讀和篩選比較之后,最后我為大家選擇了《C程序設計語言》這本書,完全符合上面的三個條件。如果你是使用的其它編程語言,可以參考下面的讀書列表:
- 如果你用的是C++,我推薦《Essential C++中文版》
- 如果你用的是Ruby,我推薦《Everyday Scripting with Ruby中文版》
- 如果你用的是Java,我推薦《Agile Java 中文版:測試驅動開發的編程技術》
- 如果你用的是Scala,我推薦《Scala程序設計:Java虛擬機多核編程實戰》
二、具體的讀書計劃
選擇書之后,就要有一個具體可行的讀書計劃,這樣大家能有節奏的一步一步把書讀完。因為大家都有一些C語言基礎,所以我們把讀書活動安排為每天的家庭作業,每周讀完2章。我們的驗收標準是:在不看書的情況下用TDD實現每章全部的例題(這個后面會有詳細的介紹)。下面是我給大家制定的讀書計劃:
時間 | 內容 |
第一周 | 第1章 導言 第2章 類型、運算符與表達式 |
第二周 | 第3章 控制流 第4章 函數與程序結構 |
第三周 | 第5章 指針與數組 第6章 結構 |
第四周 | 第7章 輸入與輸出 第8章 unix系統接口 |
三、光看不練假把式
有了書,有了讀書計劃,當然這個還不夠。這個活動的重點就是要寫代碼。這是讀書寫代碼活動的驗收條件。要求每個人在不看書的情況下,把書上的例題改造成測試驅動的代碼。一章所有例題都改造完了,才算是把這章讀完。比如:Hello World 的例子
#include
main()
{
printf("hello, world/n");
}
it知識庫:敏捷咨詢工具箱(一)──讀書寫代碼活動,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。