终于又活过来了 2009-12-16 23:28:47 | 2个评论

以下的事情发生在2009年12月6日~ 2009年12月16日:只可惜忘了留下这些珍贵的瞬间了。

第一天上午11点,老板的一个电话把我从睡梦中吵醒;大概意思就是赶紧到实验室干活,有两天的时间,需要实现一个系统;于是,接下来的日子就再也不是人过的了。先看一下我们当前有什么吧:

1. 几千行的matlab代码;

2. 几百行的几乎没有注释的c++代码;

3. 完全不明确的需求;

4. 完全空白的架构;

再看看我们要什么:我们只知道一件事情,周二的系统只要C++的;必须是能跑通的。就是在这么一个信息及其不对称的状态下,我们开始了一段不见天日的生活了。幸好亏了DZR,我们花了2-3个小时开始讨论基本架构;明确了工作分配,开始C++代码实现。由于经验不足,原来的我们全部错误估计了时间;我的一段及其简单的代码,就因为在某个地方的一个笔误,耽误了将近1-2个小时;而其他人的代码也不是那么尽如人意;原本在晚上6点钱就应该完成的工作,基本上拖到了晚上12点。这里,也要感谢春哥的友情帮助。

第二天凌晨3点,我们几个回宿舍睡觉,GX留守实验室;上午9点,我便又来到了实验室,开始了第二天的奋战。经过了将近20个小时的挣扎,我们终于完成了大部分代码的编写;但是不排除此时还有各种内存泄漏,更关键问题是,此时的系统效果极差,效率极低;而对于奋战了20多个小时的我们来说,已经无心再去搭理这么多了。

第三天凌晨5点,我跟DZR终于支撑不住了,他在躺椅中,而我则随便找了几个泡沫,铺在地上,小睡了1个多小时;可怜的GX由于还有一个功能还没有实现,还在那编写具有100多个case的switch代码,哭... 到了8点多,总算把代码完成,系统合成,我们一同去吃了早饭,再回宿舍稍作整理,便前往刑侦所。我们这时候的状态属于精神疯癫状,几个猥琐的男生就在校园里乱飘。

当时以为是去演示我们的算法,对具体需求还是一无所知呢。打车的时候,我们几个都在出租车上呼呼大睡,幸好这个司机很厚道,没有带着我们乱绕路,也没把我们扔到小山沟里去。

带着熊猫眼,我们便到了刑侦所,在那边一了解情况,才发现我们的系统完全不合格,而我们的所做的一些演示功能,也完全没有用上,甚至可以说,这两天的熬夜是白费了;我们的实现情况跟任务指标有着天地的差异。而我们在那边也便直不起腰来了,所有的方面都被别的小组虐;尽管说我们都是一个团队的,但毕竟各家自己都要挣个面子,当时的我,真想找个地洞钻下去...

晚上6点多回到实验室,还得接着调啊...虽然比起前两天稍微轻松点了,但是任务和面子压在背上,怎么着也得想办法抬起头来做人啊。

接下来的几天是大快人心的,在我们的齐心协力下,我们不断的优化代码,查搜bug,在短短的几天时间内,把正确率提升了一大截;把效率提高了8倍(从原来的40s降到了5.6s多)。这种情况下,累了也就累了,关键是看到成果了,再累也是值得的,是开心的,是心甘情愿的,也是很爽的。

而更爽的一件事情,是DZR所做的。原来,我们一直用的是别人的UI,由于那个是MFC编写的,用户体验太差不说,还特别容易出bug,而且还不能多线程运行,极大程度的浪费了硬件资源;而DZR仅仅花了一个晚上的时间,便完成了一个新的UI实现,有了这个UI,我们也弥补了我们处理效率较低的问题。

项目是12月23号验收,尽管在各种方面,我们几乎都发挥了极致,估计老板对我们也应该是满意了吧。但是,在验收之前还会有什么突发情况,我们还是一无所知呢,希望上天保佑了。

不过,从今天起,我总算又活过来了!

再小小的总结一下心得吧:

1. 消息对称:需求需要明确,当前需要什么,以后可能需要什么,哪些是没必要的,都得心里有数;

2. 整体观:多人合作,不是大家各自先写自己的代码,到最后再去合;应该先设计好程序框架,各自再往框架里去添;

3. 取长补短:团队是一个整体,不是说谁的算法就必须由谁自己实现,要发挥各自的长处;

4. 时间观:高压下工作,时间必须抓住,而且必须尽量正确的估计自己的时间极限;而不是知道最后关头的时候才说无法完成工作;

5. 注重细节:即便是快速开发,高压开发,也必须注重细节;一个小小的笔误,可能会带来几个小时的调试时间;

6. 对自己的代码负责:自己的代码不是给自己一个人用的,是给自己的团队用的,所以,代码一定要有详细的注释,即便没时间也要写注释,否则以后也不会有时间去写;自己的代码在给别人用之前一定要经过测试,自己测试自己的代码总会比别人来测试要简单的多;

7. 花时间去设计好自己的代码:想好了再写!

8. 留足够的测试时间;

9. 相信团队的能力;人的潜力是无限的!

10. 不要怕实现,相信自己只要动手去实现,即便是想起来挺复杂的逻辑,也能在短时间内完成的。

    评论(2)
  • Rebecca28 2009-12-17 11:41:30
    Thanks because it is the good stuff.
  • Niciih 2010-01-19 01:43:31
    A lot people pass the duty to professional writers because they don't have the ability to compose a satisfactory paper about this good post thats the reason why you need to use <a href="http://www.plagiarismsearch.com">plagiarism detector</a>, but such people like author don't do that. Thanks a lot for the topic
添加评论
分类
  • Linux相关

    linux菜鸟,不断学习中……

  • Web技术相关

    ruby, python, javascript, css...

  • windows相关

    windows下面的一些东西...为了玩游戏,没办法

  • 人生感悟

    人生就是放屁。低调做人,不做臭屁,不做响屁。

  • 模式识别

    现在做什么都要模式识别。

  • 游戏

    dota...我现在只玩dota。当然,如果三国杀也算的话,那就也包括了。

  • 网站点评

    把这个类别加进来了,但不知道会不会真的写,不管,先写上再说。