首页 测试 体会 查看内容

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

2014-8-5 23:13| 发布者: tianzc| 查看: 590| 评论: 0

摘要:   你曾听说过一名专业软件开发人员应该掌握一种驱动方法吗?这些驱动方法可能是:领域驱动设计(Domain-Driven Design)、测试驱动开发(Test-Driven Development)、行为驱动开发(Behavior-Driven Development) ...
  你曾听说过一名专业软件开发人员应该掌握一种驱动方法吗?这些驱动方法可能是:领域驱动设计(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
123下一页

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部