• 2004-11-03

    新的开始

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/476042.html

    今天是新项目开始的日子,我企盼已久的新开始。

    我们项目2.0版从去年年底一直做到今年年中,因为是我第一个担纲设计的项目,我对它有着非同一般的感情。也正是因为是第一个,所以,难免会存在一些不甚理想的地方。之前的1.0版中,我只是覆盖到自己所负责的几个模块,对于系统整体虽然有着一定的了解,但毕竟那不是自己亲历亲为,所能看到的问题非常有限。2.0的设计中,我竭尽所能把我所能看见的1.0中存在的问题一一避免。从后来的实际情况来看,相对于1.0,2.0确实是一个进步,无论是整体结构还是开发方式上。虽然2.0向好的方向迈进了,但由于我缺乏对整体的认识,现在看来2.0系统依然存在着许多让我心痛的问题。对于我们的系统,我心中最大的理想便是开发3.0。

    软件行业似乎存在着一个第三个版本才能走向成熟的规律,Windows的火爆是从3.0开始,Unix前面也倒下了两位前辈。由此推算,我们系统的第三个版本还是非常值得期待的。

    为了给自己一个新的开始,项目负责人希望给项目起一个新的名字。下午的会上,一个议题就是给项目起名字。早上翻字典的时候,翻到了一个单词“LAMA”(喇嘛),这也是我觉得今天所有名字中最具搞笑意味的。不过,这个名字没有最终入选。入选的名字是“CLAP”(鼓掌),基于这个名字,我做了一次顺水推舟的选择,再下个项目叫“CHEERS”(干杯)。给项目起一个比较有意思的code name可是一个非常不错的开始。

    不管名字是什么,在我心中,它依然是我的3.0,我会把2.0中的积累在3.0中释放。除了编写针对3.0的代码之外,这次项目我最大的目标就是形成一个可以从项目中分离出来进行重用的框架结构。在我们部门中,C组有一套比较稳定的开发库,而Java组则一直没有形成很好的复用,所谓的复用更多停留在代码级上。之前的一个同事进行了一定的尝试,只是后来离开了部门,所有的工作便也停止了。

    在我看来,通常所说的框架,包括基础库和框架两个部分。基础库可以简化代码的编写工作,而框架则相当定义了一套开发模式。基础库和框架最大区别便在于谁调用谁:基础库通常是我们来调用,而框架则是调用我们的代码。正是因为这样,Martin Fowler才会说是个框架都是IoC,才会为“IoC”改名为Dependency Injection。

    这次目标之一便是形成一个这种框架——既包括基础库,也包括框架。框架是不能凭空产生的,因此,我会依托于3.0来产生这个框架,并在开发过程中对其逐步的完善。我曾经在项目组内部提到过一个复用资产生成的过程,其中包括一个孵化过程,借鉴于Apache的Incubator。任何进入准备复用的内容必须经过一段时间的孵化,在代码稳定文档完备之后,才能成为正式的复用内容。

    在这次开发过程中,我依然会承担主要的设计工作,不过这次的范围要更大一些,面对的是整个系统,而不仅仅是原来的业务系统。对我而言,这又是一次意义非凡的锻炼。也许经历了这一次的开发,我对软件开发会有一个更加完整的认识。

    分享到:
    引用地址:

    评论

  • 又一次锻炼的机会,框架的开发工作并没有停止,我这边还在继续,:), 又融入了一些新的思路和方法,希望你能把部门做得更有活力!
    回复founder_chen说:
    关于你的框架,我有些了解,也知道那是一个庞大的计划。^_^
    2004-11-05 17:15:22
  • 祝成功。
    回复aero说:
    多谢!
    2004-11-04 21:45:13
  • 祝愿成功吧!
    回复tonyad说:
    Thanks!
    2004-11-04 13:12:58