昨天下午去联通营业厅,排到的号前面有90个人,等了75分钟。还好随身带了本以前看过的书,从头到尾重新翻了一遍,时间刚刚好,呵呵。这本书的名字叫《解析极限编程——拥抱变化》。
极限编程是一种轻量级的软件工程方法,强调及时测试、拥抱变化、推迟决策(把重要的决策推到最后再定)。我觉得和我一贯的做法是相反的。我一贯的做法是总想事先把所有事情想全,实际上这是费力不讨好,很多事先想好的东西到现实中并不会出现,倒反会出现很多事先没想到的情形。倒不如像这本书名说的那样,拥抱变化,只解决今天能看得明白的问题,明天的事相信明天的自己能应对。
想想我开发树控件都小半年了,修修改改,拖沓、不节约时间是本质上的原因,可是工作方法不科学也是一个很重要的原因。看这本书,反思自己这个小项目,做的不好的地方有如下几点:
(1)没有计划:因为是给自己做,没计划没范围、想起一出是一出、今日做不了复明日。唉。这样不行。要改!
a)要有计划。不过计划很不好定,因为其实我对自己多长时间能完成一个函数没有概念。不管怎样,我先逼着自己做一个计划先,不行再调整。
b)要有度量。明天起开始对编程计时。以便日后能让计划更精确。
c)要有范围:
c.1)应该做可能有效的最简单的东西,不能想到什么就做什么,在设计功能的时候不要想一次吃个胖子,要蚕食不要鲸吞。
c.2)另外,我也太爱重构(应该需要的时候、出现重复代码的时候才重构)
(2)没有方便的自动化测试:所以,每次改动了代码,我就得重新构筑测试用例。也许看看另一本书,看看他们是如何测试的。
行动:
(1)做开发计划:明天做个本周计划(注意要有范围)。
(2)统计开发度量:明天开始。
(3)看那本《探索极限编程》的书,明天开始。