我们共分两队,每队六个人,胡阳带一组,学宇带一组。
到今天,我们六个人合作开发的收费系统出炉了,这个系统是建立在我们对这个系统需求深厚了解的基础上开发的,刚刚按照MVC三层架构开发完自己的第二版收费系统,马上就投入到合作开发的队伍中来了,在这次活动中,胡阳事先做好了系统架构分析,写了一个详细的时序图,方便进行我们个人的代码编写工作,给我们写好了各层的需求和注意事项。如是,我们就风风火火的做了起来。
首先来说,这次合作开发是空前的,从人员分派上来说,我们是第一次超过两个人合作开发,从实用工具上来说,我们是第一次使用SVN这类版本控制工具,Nunit测试工具。
这也是我们第一次合作开发。我认为最重要的就是开发人员之间的分工合作,沟通交流是很重要的,虽说我们使用了版本控制管理工具,可是如果两个开发一层模块的小组人员不能很好的沟通合作,代码混乱、延误工期是难以避免的了。
在开始合作之前,胡阳的准备工作还是很充分的,详细设计了系统的方方面面,当然疏漏也是难免,从这次开发中,我也体会到了合作的力量,大家的智慧是远远超过一个人的,我以前做系统主窗体的时候发愁如何处理窗体之间的遮挡问题,也稍稍考虑一下界面的美观问题。当我把这些问题拿出来和大家分享的时候,这些问题迎刃而解,而且仔细想想,答案竟是那么的简单、明显。
真是三个臭皮匠赛过诸葛亮,不假不假。
同时,从这次合作开发中,我也发现了规范的总要性,首先各自编写各自的代码,注释要全面、通俗易懂,为的不光是以后查错分析起来省事儿,也是为了自己的合作伙伴省些事儿。其次文档规范很重要,因为是分层开发,每个人的工作基本上都是不同的,大家不能像以前独挑一个系统,现在都是尽力管好自己的代码,努力最大程度上实现功能。所以各层、各模块的规范说明文档要详尽,这次合作开发中我负责一部分界面编码,于此我认识到了关于界面层调用业务逻辑层相关功能类的方法介绍文档就十分重要了,关于下层接口能够实现的功能和相关参数的简略描述都是很重要的,因为我们合作开发的这个系统在底层使用的是泛型技术,这样我们需要将界面层的数据信息封装成各个实体类,进而传递进下一层,进行操作响应。那么功能介绍重要的很。说到实体类,我还想说一些关于变量命名规范,当然这些解释说明可以写在实体类属性的XML注释中,对于各层开发人员,尤其是界面层需要对收集来的数据进行封装,那么熟识这些属性名称就比较重要了。还有每层模块的编码信息记录也是需要填写的,同样也是方便后面测试、修改Bug的责任归属问题。
总结一下,合作很重要,合作完成之后还就是各自进行相应模块的单元测试,进而系统测试,“创业容易守业难”,接下来的测试过程,还会收获很多的。