预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
目录一.作者简介二.敏捷咨询工具箱(一)——读书写代码活动三.敏捷咨询工具箱(二)——OO训练营四.敏捷咨询工具箱(三)——结对辅导说明:本文是对发于InfoQ中文站的《敏捷工具箱》的一个总结及整理,版权InfoQ中文站所有,如需转载,请务必附带本声明,谢谢。InfoQ中文站是一个面向中高端技术人员的在线独立社区,为Java、.NET、Ruby、SOA、敏捷、架构等领域提供及时而有深度的资讯、高端技术大会如QCon、免费迷你书下载如《架构师》等。作者简介:钱安川,ThoughtWorks公司高级软件咨询师、敏捷过程教练、资深讲师、TeamLeader、开发者、BeiJingOpenParty组织者和主持人。个人博客:敏捷开发训练:http://www.qiananchuan.com/敏捷咨询工具箱(一)──读书写代码活动只要功夫深,铁杵磨成针──宋·祝穆在我们咨询过程中,遇到一些开发技术很薄弱的团队,大部分人只会通过复制和粘贴的方式写代码,然后花费大量的时间进行修改和调试。有些开发人员还只是刚刚从学校毕业,几乎没有什么开发经验。面对这样的团队,如何教他们使用敏捷开发方法?如何教他们测试驱动开发?如何教他们简单设计呢?如果连一门语言还没有完全吃透,还如何谈测试驱动开发和简单设计呢?这是一个很大的挑战。我回想起自己学习新语言的方法。前些时间我自学了SCALA语言,看完了《Scala程序设计:Java虚拟机多核编程实战》,但还是觉得很多概念没有吃透,然后我就把书合上,然后把书上所有的例子独立写了一遍,这时才能感觉自己是学了一门语言。于是我用同样的方法来训练这个团队:一、找一本合适的书。如果要快速吃透一门语言,最快的方法就是找一本好书,系统的把一门语言学习一遍,扫除语言的盲点。我们如何选择一本合适的书呢,我总结了三个条件:选择国外大师的权威著作,这些大师应该有深厚的开发经验,这样可以从书上学到很多编程和设计的最佳实践。书不能太厚,最好在200-300页左右,足够介绍完一门语言的常用特性和最佳实践。那些面面俱到的的厚砖头一般适合做参考手册。书上的例子一定要经典,这样比较适合练习。因为团队主要使用C语言,我就在Google上搜索了一下“C书籍推荐”,找到了很多网友推荐的TopC语言书籍。通过我几天的阅读和筛选比较之后,最后我为大家选择了《C程序设计语言》这本书,完全符合上面的三个条件。如果你是使用的其它编程语言,可以参考下面的读书列表:如果你用的是C++,我推荐《EssentialC++中文版》如果你用的是Ruby,我推荐《EverydayScriptingwithRuby中文版》如果你用的是Java,我推荐《AgileJava中文版:测试驱动开发的编程技术》如果你用的是SCALA,我推荐《Scala程序设计:Java虚拟机多核编程实战》二、具体的读书计划选择书之后,就要有一个具体可行的读书计划,这样大家能有节奏的一步一步把书读完。因为大家都有一些C语言基础,所以我们把读书活动安排为每天的家庭作业,每周读完2章。我们的验收标准是:在不看书的情况下用TDD实现每章全部的例题(这个后面会有详细的介绍)。下面是我给大家制定的读书计划:时间内容第一周第1章导言第2章类型、运算符与表达式第二周第3章控制流第4章函数与程序结构第三周第5章指针与数组第6章结构第四周第7章输入与输出第8章unix系统接口三、光看不练假把式有了书,有了读书计划,当然这个还不够。这个活动的重点就是要写代码。这是读书写代码活动的验收条件。要求每个人在不看书的情况下,把书上的例题改造成测试驱动的代码。一章所有例题都改造完了,才算是把这章读完。比如:HelloWorld的例子#includemain(){printf("hello,world\n");}要求把这个例子改造成测试驱动的代码。改造之后代码分别为:测试代码:TEST(test_case_name,test_greetings){EXPECT_EQ("hello,world",greetings());}业务代码:char[]greetings(){return("hello,world");}通过这样的训练,每个人不但可以系统的学习一遍C语言的知识,并且可以锻炼如何用TDD进行开发。四、闭环──代码展示如何保证每个人可以完成写代码活动并且达到预期的效果呢?我们搭建了一个Subversion,让每人把自己的代码提交上去。我们每天早上会有一个代码展示活动。准备一个投影仪,每个人花3