惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - Jacken

ios basics 关于 php mvc 转: Basic JavaScript Part 8: Namespaces Simple JavaScript Inheritance javascript 命名空间 继承 实现 转: CSS网页布局教程:绝对定位和相对定位 js 类与对象 div 垂直居中 布局 boost signal 用法与用处... Flash嵌入纯Win32程序 及 事件接收 消息发送器设计 工若善其器,必然利其事。 HTML5开发工具选择 html css 布局 ubuntu 使用 wifi 连接上网 用背景图片填充Edit控件... 游戏类初步一.. C++的异常处理方法之一. - Jacken - 博客园 C++ EventHandler v0.02 在命令行中使用cl工具生成纯资源的DLL文件...
项目 "差不多成功? 简直就是失败".
Jacken · 2011-05-25 · via 博客园 - Jacken

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

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

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

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

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

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

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

我觉得有几点原因:

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

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

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

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

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

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

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