那么敏捷开发为什么会这么认为呢?其实大家在做项目开发的时候都会有这样的体会:
- 时间紧任务重,哪有时间写文档呀?代码都写不过来。
- 辛辛苦苦把文档写好了,但是但是项目才进行一小半好不好,需求怎么就变了呀!需求变了,代码都改不过来,那还有时间去修改文档呀?于是乎一开始写好的文档就变成了一个个的坑。默默的坑着后来的人。
(各位前辈呀,为后来人着想着想呀!)
- 等自己完全接手项目,流程都弄明白了之后呢?忙改代码做新功能,至于文档?哪有时间去想文档呀。
为啥会这样呢?因为文档和代码没有直接关系,没有“联动”关系!
如果您对powerdes不熟悉的话,我在举一个CodeFirst的例子。CodeFirst就是先写代码设计类,然后用vs里面的来自动创建数据库,类结构发生变化了,可以自动的去修改数据库的表结构。这样就可以达到代码和数据库的一致性,而且有变化只需要修改一个地方(代码)就可以了,另一个地方可以自动变更。
这就是我所说的“文档式驱动”!
这里在举一个WebAPI的例子。我们打开VS201*,新建一个webapi的默认项目,我们会发现有一个help的目录。进去一看,哇,api的使用文档!有接口名称、参数名称和他们的注解,还有调用实例。这还不是最神奇的,更神奇的是,当代码修改了之后,help里面的内容也会随之更新。这样写接口再也不用担心更新文档的问题了。
可能有人说,我这是痴人说梦,该醒醒了,别浪费大家宝贵的时间。这个当然不是无稽之谈,今天也不是愚人节。下面还是用例子说话。
每一个环节都有人在做“联动”的事情。只是从整个项目的角度来看,把各个环节用一条线,从始至终的串联起来,让各个环节可以“联动”。目前还没有发现做这种事情的人(自己除外)。
再举一个盖大楼的例子。要盖楼首先要一个图纸,然后请建筑公司来按照图纸把大楼盖出来。盖楼之前图纸可以修改,盖楼的时候会按照最后修改后的图纸来施工。但是楼盖好了,再去改动图纸,大楼就不会受到影响了。大楼改好之后,图纸和楼失去了联动,图纸不会去影响大楼了,因为楼已经盖好了。
说了这么多,大家可能都蒙登了,我到底要说啥?还是来张图吧。
最后说一下啥是“超敏捷”,前面说了敏捷开发,那么超敏捷开发呢,顾名思义说的就是开发速度会更快。
ps:好久没有写博客了。沉寂了一段时间,好好的思考了一阵子,现在是新的开始,重新打造!后续会更精彩。
