首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

项目日志

2012-07-23 
项目日记0.9版:我开发。先是用了多种设计模式,尽量实现解耦。结果发现性能不满意。...1.0版:我开发。后来,重构

项目日记

0.9版:我开发。先是用了多种设计模式,尽量实现解耦。结果发现性能不满意。

...

1.0版:我开发。后来,重构。去掉了很多设计模式,让部分代码直接耦合,性能大幅提高了。

...

1.1版:成立1.0小组接手。需要增加新的功能,和修正一些BUG。工程进度很顺利。

....

1.2版:我开发。再后来,再重构。开始一步步拆解耦合,同时尽量保持性能。解耦再次实现,性能不降反升。感觉自己的思维又向前飞跃一步。

...

1.3版。1.0小组完全接手。又需要增加新的功能,和修正一些BUG。小组觉得1.2版的代码比较难懂,但都普遍反映能看得懂1.1版的代码。工程进展很不顺利,延期n倍后,基本完成任务。

...

1.4版。发现1.3版本在生产环境效率下降明显。报告多处莫名BUG。我自己重新检视代码,发现代码结构破坏严重,1.3的修正处出现相当数量的高耦合代码。心疼不已,气得要命。于是加班,重写了大部分修正代码。

...

1.5版。决定继续锻炼队伍,完全交给1.0组。引入严格单元测试。招了专职黑盒测试人员。工程进展。在生产环境部署运行基本稳定,很少BUG报告。但性能下降明显。升级了服务器后基本解决。

...

1.6/1.7/1.8版。继续锻炼队伍,小组开发。都是增加功能和修改少量BUG。开发过程引入大量单元和整合测试。BUG报告很少,但性能进一步下降。又升级了服务器硬件,但性能改善开始不明显。
....

我,忙其他的N个项目了去了...,小组继续他们的工作。

....

客户开始普遍抱怨速度慢...,开发小组焦急,但显然一筹莫展。

...

...

我不得不重新仔细检视代码,结果大吃一惊,代码结构面目全非!单元测试结果都正确,但性能陷阱不处不在。尝试重构,几乎无法继续,忍无可忍,放弃。结论:1.x版本代码已死,软件生命到头了。

...

划拨新预算,成立新2.0小组,自己领队,开始全部重写,2.0版。

原小组必须继续维护1.x版。但无法从根本解决客户遇到的性能问题,客户抱怨激增,小组成员挫败感明显。

...

前期,2.0版进展顺利,比预想速度快一倍进入一个个“里程碑”。

...

1.x小组长期维护1.x无成就感,挫败感和厌烦情绪上升,人员流失严重。1.x维护工作开始出现人力不足。只能从2.0组抽工时帮助维护。

2.0进程拖慢。

...

1.x小组成员剩余成员继续抱怨二次开发很厌倦,1.x组人员几乎流失殆尽。因为客户的生产环境不能受影响,2.0组人员80%精力用来维护1.x了。

2.0版进度近乎停滞。

...

2.0x组员开始抱怨。

...

2.0组员开始出现不稳定情绪。

...

下决心更改策略,直接派新人进入1.x组,将就着维护,留2.0组两位大将坚守1.x阵地,将其余2.0组成员全部撤回2.0版项目。同时派公关、销售、客服人员与客户加紧沟通,稳住客户情绪。给2.0版争取时间。

....

2.0版项目重回正轨,项目再次高速前行,2.0组员开始稳定。

....

留在1.x的两位大将开始出现情绪低落。加薪。增发奖金。暂时稳定。

...

2.0版即将发布。留在1.x的两位大将同时辞职,无法挽留。

...

2.0比预定延期1倍时间后发布。

...

这次改变策略了,留1位2.0组大将带新人维护2.0。其余全体2.0组转新项目。

...

目前一切看起来很好。

?

?

?

?

?

?

?

------------------------------------------------------------------------

KO对战游戏平台 www.ko10000.com 打游戏,交朋友。


引用解耦再次实现,性能不降反升。感觉自己的思维又向前飞跃一步。
2.0版本的开发看来走对了路子,不知道具体是采用的什么方式开发的呢? 9 楼 LucasLee 2008-08-20   挺有意思的经历。
看起来没有很多人有机会经历这么长的起承转合。
一般来说,设计模式对性能的影响不大的,原理上说,就是多了创建对象、多层继承等等的开销,但对于以数据库为中心的应用来说基本可以忽略。
不过,我的经验是,有的时候设计必须考虑性能,否则的确容易出现性能问题,比如有接口methodA(Object x), 接收一个参数x,但对于一批x也循环调用这个方法很可能产生性能问题,此时增加接口methodA(Object[] xArray),以一次批量处理参数。

热点排行