您的位置:首页 > 其它

关于提高开发效率的面向对象开发模式的思考

2017-03-04 00:00 459 查看
最近,发现隔壁的开发团队(十几个人),连续加班了好几个月,还是被需求压得快喘不过气,每天都在赶着各种需求的实现和修改测试反馈的bug,以及部署新版本上线。这种工作强度,偶尔还行,时间久了很多人都会觉得累觉不爱。

看到这种场景,不自觉的让我思考是否有什么方式可以提高开发的效率,从而避免经常性的加班呢?

根据以往的经验,面对这样的产品,在产品建设的整个过程中,每个环节都值得我们关注。首先是需求,开发人员必需熟悉需求,并可以根据以往的经验和对产品的理解,预知一些问题,比如业务的某些细节,可能产品经理个人经验的问题考虑不周到,这时要求产品经理解释清楚,有些觉得自己有道理的,还可以要求产品经理确认或者调整,减少开发过程,需求变更带来额外的开发时间。另外,根据本次需求的根本目的和上线预期,要求产品删减某些非必要的需求,或推迟下个版本实现。曾经有个比较权威的产品经理告诉我,一个成功的产品,不在于产品功能有多丰富,关键在于核心功能实现。其次是设计和开发,一个好的设计,可以让开发人员更好的理解和实现,另外,后续的需求变更实现也会简单得多。关于设计,自觉得还比较嫩,这里就不描述太多了。至于开发,以前追求的是,给开发人员提供简单,易用,质量有保障的工具,从而提高开发效率。不过现在觉得,这显然还是不够的。 所以我又开始思考,是否可以通过改变组员的分工合作,来提高开发效率呢?

比如,根据开发人员所擅长的技术及其能力,分成两部分,一部分倾向前端开发,重视系统的用户体验,负责完成控制层和展示层的实现,基本理解业务需求,能理解需求文档和理解类图,熟悉前端相关的技术;另外一部分,熟悉后台开发,主要负责具体业务规则的实现,熟练使用后台相关技术(当然我们的框架中会提供比较完备的各种工具,开发人员无需详细了解其设计,例如,我们把RabbitMQ常用的场景封装成一个类,对外提供两个方法,开发人员只需要知道两个方法需要传入什么参数即可,其它相关配置,在项目搭建的使用已经由架构师准备好),实现系统涉及到的对象中的数据及方法即可。两部分的人,同个类图进行沟通,前端的开发人员负责根据需求使用类,后台的负责构建类。如此一来,两者分工明确,发挥各自的技术优势,两者对业务理解的要求也不一样,减少开发人员对需求和设计理解产生的时间成本,两者之间的合作,通过类图,围绕类图,双方可以更好的进行沟通。因为每个人对自己开发的领域都比较专一,事情做起来会更加熟练,代码的质量也会跟着提高,减少测试过程中跟进修改bug花费的时间。简单概括如下:

前端业务开发者:展现层+控制层;【负责用户体验和调用类实现业务控制(不关注业务实现的细节)】

后端业务开发者:业务实现层【负责构建系统相关的类;】

注:前,后端开发者在项目结束总结的时候可以完善基础框架【提供各种基础的方法和公共的组件】

当然,关于该开发模式,并不适合各种开发场景,比如项目很小,一两个人,两天就可以完成的。他比较适合工期比较长,开发人员比较多的场景。另外,该开发模式,是最近才开始尝试的,可能还有很多其它因素没考虑到。写出来,一时分享下自己的想法,二是,如果有大神有好的建议,希望可交流下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐