我觉得有必要说说我正在做的项目, 是一个基于Flex开发的在线图片编辑程序.

参与开发的成员总共4个,我是其中一员. 项目原计划是在两个月内完成, 但到现在已经进行了差不多6个月,现在还在开发阶段.  

刚开发了一个月左右, 项目做过了一次重构, 重构的原因是其中一个功能难以在现有代码上完成,  改用PureMVC框架. 改用PureMVC后的那几天, 组员们努力地往项目里添加代码, 结果在短短的两周内, 项目的代码量已经可以与物价飞涨同步了. 代码量涨了, 但是程序的功能不见涨, 这是PureMVC特性. 而我, 就是在这堆代码中修改,添加功能. 从这开始, 我几乎每天都在痛苦郁闷中度过.

我曾多次建议性地提出再次重构, 但没被接纳, 为了顾及团队合作, 我继续痛苦郁闷地编写代码. 我们每天都会开晨会, 每次报告项目进度的时候, 大家都说"差不多完成了". 但这个差不多, 太抽象了, 以至于每次看项目Demo的时候, 都以"差不多" 结束. 就这样, "差不多"已经差不多持续了3,4个月的时间.  现在呢, 也差不多了.

 

项目为什么会变成这样? 一个计划在两个月可以完成的任务, 结果花了6个月还处于一个差不多完成的状态.

是项目计划时间太短?  不是. 

项目难度太大? 也不是, 很多小公司都做出了类似功能的程序了.

 

我觉得有几点原因:

1. 项目功能模块没有划分清楚.

    大家都是第一次在实际项目中开发Flex, 没有决定好如何去划分模块, 结果大家很多时候都把自己的代码往同一个项目里放.

2. 重构不撤底, 而且使用了PureMVC.

    项目重构之后, 大家还是把之前的代码找出来复制粘贴. PureMVC 给我的感觉就名字pure, 但实际开发一点不pure, 冗余代码很多, 程序结构复杂性增加. 

3. 项目进度没抓紧, 项目时间计划不具体.

    项目计划是在两个月内完成, 至于第一周该完成哪些功能, 第二该完成什么功能, 没有规划好.  大家都觉得两个应该是可以完成的, 所以刚开始的时候大家都比较休闲松懈, 到了后面, 遇到各种各样的问题, 问题越来越多, 越来越难解决, 导致项目处于无进度状态.

 

直到现在, 我觉得项目重构是必须的. 重构其实花不了多长时间, 而且对于以后程序的扩展, 维护都大有好处.

 

 

     

作者: Jacken 发表于 2011-05-25 17:46 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"