SHUHARI 的博客

流光飞舞

分类 敏捷

翻译:《为什么大多数单元测试是浪费》

单元测试是 FORTRAN 时代的主要内容,那时候函数就是一个函数,有时候值得进行功能测试。 计算机执行计算,而函数和过程代表了计算的单位。 在那些日子里,主导的设计过程是从较小的构造块组合成复杂的外部功能,而这些小块又由更小的块编排而成,依此类推,向下直到非常容易理解的原语。每一层都支持其上方的层。 实际上,你很有可能将底层事物的功能(称为函数和过程)追溯到在人机界面上产生它们的要求。 人们通常期望优秀的设计者能够理解特定功能的商业目的。这是可能的,至少从结构良好的代码中推断出调用树是可能的。你可以在代码审查过程中用头脑模拟代码的执行。

1

翻译:《为什么大多数单元测试是浪费 - 续》

我想是时候放出第二期了。我之前的文章一开始只是给客户的一个随意的回复,但当 Rex Black 把它发布在他的网站上时,它就像病毒一样迅速传播开来————在Reddit上排名第三,并出现在其他社交网站的显著位置。从那时起,我很荣幸地看到了对话的展开。它的范围从深刻到愚蠢,可悲的是,大部分属于后者。看起来似乎有一个非常广泛的神话,可能是由行业的希望所推动、并且被急于证明自己存在理由的学术项目和顾问所刺激。

翻译:《为什么大多数单元测试是浪费》索引

TDD (测试驱动开发)是敏捷开发、特别是极限编程(XP)的核心实践之一,也是我长期以来一直坚持采用的方法。因此,当我最近偶然从一个链接发现这篇文章时,它带给我的震动是可想而知的。虽然在之前我也模糊地感觉到单元测试可能存在的一些问题,但一直相信是自己水平不够、认识有限的原因,没有更深入地思考过。过去曾听说过 DHH(Ruby on Rails 框架的作者)对 TDD 的反对,也只是想那可能是 RoR 框架本身的局限,不一定是广泛适用的结论。

《Developer Should Abandon Agile》 解读

前言

最近,敏捷开发的代表人物、也是 Agile manifesto 的作者之一 Ron Jeffries 发表了文章 Developer Should Abandon Agile(中译:开发者应该放弃敏捷)。InfoQ 也有这篇文章的 中文新闻。以作者的身份表达这样的观点,无疑是很有震撼性的,然而(我认为) InfoQ 的新闻并没有完整地表达清楚作者的思想,读起来有一种雾里看花的感觉。

这里,我试图从自己的角度,尽可能全面地传达 Ron 大叔原文中的观点,同时也想表达我自己的一些个人看法。当然,我会明确的将两者区分开,以下除特殊说明外,原文将统一以引用的形式标注出来。