虽然有许多人对VS2010程序的性能表示怀疑,但在年复一年的不断发展中,他的性能也在不断提高。保障VS2010程序的性能是完全有可能的,但前提是要深入理解到底什么是VS2010程序,及他是怎么运作的。
相信读者们都应该已经不陌生了,它的核心在于迭代,并且以每个sprint时间段的周期进行产品功能迭代。团队首先浏览开发需求,考虑可用技术,并对自身技术及能力做出评估,所有实践就是围绕着一个迭代和增量的过程来展开,而在每个迭代内部,可以使用测试驱动和持续集成的XP(eXtreme Programming,极限编程)工程实践。#t#
XP,是最轻量级的开发流程,其最主要的精神是“在客户有系统需求时,给予及时满意的可执行程序”,所以最适合需求快速变动的方案。Scrum与XP所不同的是,Scrum只是一个敏捷过程框架,它并没有提供核心的价值观与指导原则,也缺乏具体的实践方法,例如,测试驱动开发、结队编程等。Scrum仅仅规定了实施的基本流程与检查表,它是一个开放的管理框架,重心在于项目管理,而不是指导团队成员如何进行开发。这既是Scrum的优点,因为它很灵活,能够适应大多数场景,也可以兼容并包地引入其他方法学所提倡的实践;同时也是Scrum存在的固有缺陷,使得它难以被实践。如果没有一位优秀的VS2010程序,而团队成员又缺乏自我组织和管理的能力,就会让开发过程变得一团糟,团队成员将会无所适从。
在团队中开发人员随时可以与客户进行有效沟通,撰写user stories以确认需求。简易快速的系统设计,撰写独立的验证程序以解决特殊困难的问题并,找出演算法即可丢弃验证程式。规划多次小型阶段的方案计划,并且以最快得速度完成每一阶段的程序交付客户,客户负责Acceptance tests;Coding前必须完成Unit Test与Acceptance tests程序,所有模组整合前都须经过Unit Tests;开发人员必须快速回应Bug和需求变更;要求二人一组使用一台电脑设计程序,当一人coding时,另一人负责思考与设计(结对编程);程序必须符合程序规范,并常做程序的重整(Refactoring)。
在Agile开发实践方面,VS2010程序可以借鉴XP提倡的结队编程以及测试驱动开发实现编码,通过重构对编码进行调整以适应需求的变化,Scrum为体,XP为用。XP开发流程的基本步骤,如图1所示。