6.4   砖头*XP*简单设计frankcai

扔块砖头先, 大牛们多砸些玉过来,好像小辈开开眼:)

XP主张简单设计,在extreme programming explained 里面说到 原因是传统软件工程认为应付变化的成本随时间指数增长。 xp认为现代软件开发过程中这条定理已经不成立了, 因为采用了面向对象软件设计方法和设计模式之类的方法就可以,

我觉得这应该不太可能吧? 即使是面向对象,即使是很好的运用模式, 这最多也 是在一定程度上可以从容应付变化吧? 如果是需求变的太大,再怎么面向对象也是没用的吧? 不知道实际中是怎么样的?

然而我还是非常同意简单设计,原因是既然需求总是多变, 我们不可能在一开始就把需求真正捕捉到,与其把大量的时间花在 对那些错误需求的设计,实现,测试中,还不如开始的时候简单一点, 把最核心,最不可能变的那部分做出来,然后再用它捕捉需求,对它进行修改,也许 这时候我们会觉得要花很多时间,但是其实在前面我们节省了很多时间了, 而且总的看来,我们浪费在错误需求上的时间少了,节省的时间就多了, 这可能也可以说是原型方法吧。 另外,在技术风险比较大的时候,(比如我们学生用新学的东西做事) 开始过多的考虑细节,试图一次把问题全部搞定, 往往会降低效率,比如一点一点做来的好,当然,这是在整体的结构已经清楚的情况下。 (这一点是我自己实际的体会:)

以上拙见,诸君见笑。