关闭

驱动方法不能改变任何事情

发表于:2014-6-24 11:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Michał Bartyzel    来源:51Testing软件测试网采编

  你曾听说过一名专业软件开发人员应该掌握一种驱动方法吗?这些驱动方法可能是:领域驱动设计(Domain-Driven Design)、测试驱动开发(Test-Driven Development)、行为驱动开发(Behavior-Driven Development)、数据驱动设计(Data-Driven Design)、数据驱动开发(Data-Driven Development)、用例驱动设计(Use Case-Driven Design)、用例驱动开发(Use Case-Driven Development)、架构驱动设计(Architecture-Driven Design)、架构驱动开发(Architecture-Driven Development)、模型驱动开发(Model-Driven Development)、敏捷模型驱动开发(Agile Model-Driven Development)等等。我确实听说过这样的要求。
  我们期待这些驱动方法(或者我称之为心理框架, mental framework)具有某种魔力,是因为我们喜欢框架。我们常常忘了对于我们的技能,它们只是扮演支撑角色,而不是软件专业的唯一目标。但是这种对框架的热爱,使我们产生了一些认知上的偏差,让我们进行深入分析。
  心理框架是如何产生的?
  这些所谓的驱动方法是一类被称为心理框架工具的例子。心理框架,正如软件框架,是一种构造(一些想法或者过程),能够用于开发活动,例如以有序的方式进行建模、设计、编程或者测试。我们将分析三种心理框架:领域驱动设计、测试驱动开发和行为驱动开发。它们是社区中非常流行的驱动方法。
  这些框架的创建者的假设是它们能够通过以下途径促进开发工作
  让通用的想法(例如对象建模和测试)更具体;
  引入有序的工作方法;
  以可重复的步骤形式展现复杂的活动。
  这一切都归结为一个承诺和吸引人的文化基因
  当作者提出一个心理框架,这意味着一个承诺,从现在起所有事情都将变得更好、更有效率、更快、成本更低,一切都将很好。通常,承诺与开发人员在运用某个特定概念的过程中遇到的问题有关系,而且它武断地假定,当使用了这个建议的框架后,这些问题都将得到解决。测试驱动开发就是一个很好的例子。它的承诺包括:“你将不再需要调试器”,“你将有简单和高质量的代码”,“你的代码在产品阶段的bug会更少”。我并不是说这些是空头承诺。我的意思是这些承诺并没有在早年TDD中得到明确的、可验证的数据支持。先有对TDD的热情追捧,然后才有一些度量来验证它的承诺。
  是什么让这些心理框架的承诺如此“吸引人”?毫无疑问,其中一个因素是我们希望解决所有问题。因此,当问题越大,我们就越可能采用它。另一个因素是有感染力的文化基因(contagious meme)。就像基因是遗传信息的单位,字节是数字信息的单位一样,文化基因是文化的基本单位。这个词是由英国进化生物学家和作家Richard Dawkins创造,他将其视为一种复制器(replicator)。
  每种框架都定义了自己的文化基因,有感染力的的口号,这让开发人员将它与特定框架及其承诺联系在一些。通常,这个文化基因描述了框架所促进的一个主要概念。TDD文化基因就是一个很好的例子,即红-绿-重构(Red-Green-Refactor),它与计划-执行-检查-处理循环(Plan-Do-Check-Act cycle,缩写为PCDA或称为戴明循环)没有什么不同。PDCA循环是持续改善产品和服务的一种迭代和适应性过程。红-绿-重构,这个简短的口号有以下特点:
  它用三个词表达了TDD基本技术;
  它很容易记住;
  它描述了可视化工具来支持TDD。
  这三个词使你用简单的文字描述了TDD。你不需要提出精心设计的概念、详细的定义和区分特定的案例或复杂的步骤。它很简单,就是红-绿-重构。
  在表1中,我列出了心理框架的例子,它们的承诺以及它们的吸引人的文化基因。
  表1
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号