2007年9月26日

敏捷精灵日记9

[敏捷精灵日记]

  • TDD 以可验证的方式迫使开发人员将质量内建在思维中, 长期的测试先行将历练开发人员思维的质量,而事后的单元测试只是惶恐的跟随者.
  • 重构不是一种构建软件的工具,不是一种设计软件的模式,也不是一个软件开发过程中的环节,正确理解重构的人应该把重构看成一种书写代码的方式或习惯,重构时时刻刻有可能发生。
  • 软件构建学问中总有一些理论上很美好,但是一使用就可能面目全非,比如传统的瀑布模型。敏捷里很多被称之为思想的东西,恰恰没有太高深的理论,但都是一 些实践的艺术,强调动手做而不是用理论论证。TDD就是这样一种东西,单纯去研究它的理论,分析它的优点和缺点没有任何意义,因为它本身就是一个很单纯的东西,再对其抽象也得不出象相对论那样深厚的理论。更多的实践会给出正确的答案的。
  • 结对编程不是一种形式化的组合,在实际的XP小组中,结对的双方应该是根据需要不断变换的,对的结成应该是自发的,应该保证双方都是对这部分工作感兴趣的人,而不是强行指定。
  • 结对编程不是结队编程,是2个人,不是更多

  • 就象Scrum一样,并不是所有的team都有能力实行XP,也不是所有的项目都适合实行XP,要看实际情况而定。
  • xp中,多数实践方法是互相加强甚至是互相保证的,不能单单拿出某一个实践来单独实施,譬如结对编程,缺乏TDD/重构/简单递增设计的实践的有效补充,效果可能会大打折扣。

没有评论: