博客> 软件研发流程的思考
软件研发流程的思考
2017-10-20 19:48 评论:0 阅读:119 d2698255
软件研发流程

2016年初,当我来到这家公司的时候,我们的产品才刚进入测试阶段。初入公司,我就是直接从修改bug开始介入到项目里的。实话实说,哪个时候产品代码确实是十分的混乱,每天都是改不完的bug。核心代码部分,一个类文件有6000多行代码,不用说修改,就是看你都无从下眼,最后修改完bug,这个文件的变得无比混乱,一个方法,你不知道他出现了几次,也不知道他在什么地方被调用了几次,往往你修改一个小地方就会引发其他地方出现bug,我一直在想,写的代码即使再糟糕,无非也就是这样了吧。

正是因为有这种特别痛苦的经历,所以我就一直在思考,为什么会出现这种情况,今后我该怎么避免这种情况。

为什么会出现这种情况?

答案就是没有经验,我的两个研发同事,他们是在没有任何框架设计和思考的情况下做出了我们的产品,我们可以想象一下当时他们开发时的场景,当拿到效果图,自己对着效果图理解一番,差不多熟悉功能了,就开始分配任务,你做一下这个页面功能,我做那个页面功能,然后就开始 各自忙碌,如果有难题,两个就交流一下,解决了就继续干各自的。直到3个月后我来到公司。

上面的工作方式,看着没什么问题,但你真正经历过,你就会知道,上边的工作方式有大问题,而且还是很大很大的问题。

第一个问题,当你拿到效果图去理解的时候,你是怎么保证自己的理解效果?换句话说,产品和设计是花了大量时间来思考和设计,你怎么保证能够最大限度的理解他们的意图?上面的工作方式没有保证,结果只是一千个读者就有一千个哈姆雷特,能不能保证完全依靠这个人的工作经验,能力上。

第二个问题,假如开发人员理解能力很强,在第一个问题没有出现偏差,那么,我们再来看看第二个环节,开发。恩,我今天开发功能1,开发完成,下班。时间来到第二天,我开发功能二,开发过程中突然发现,我擦,这功能二不是跟功能一逻辑一样么?于是我就把今天开发的代码删除,然后把昨天写的功能代码copy过来。今天的功能二就是这样被我开发完了。perfect。问题看似被解决了,但也为你日后维护工作埋下了坑。如果不知道是什么坑,那就多理解一下代码的封装和复用。
知道问题所在,那我们就看看采用什么方法来避免这些问题。

  • 1 设定评审环节。对产品原型评审,对效果图评审,在评审过程中针对不明白的地方加强交流,充分理解设计的原因的意图。
  • 2 开发之前,根据对产品的理解,对app的整体做好架构设计工作,这项工作是建立在 你对项目,对功能,对业务,对未来需求,充分理解的基础上做出来的。这项工作 十分重要,一个伟大的,可持续发展的产品离不开这个步骤。你要是觉得这是架构设计师的工作,那只有可能你对你的产品没有想法,你对你写的程序没有想法,一个没有想法的人,会有创造力么?
  • 3 架构设计好了,你要想办法保证你的架构是最好的,开评审会也好,与大神交流也罢,你需要反向确认的。
  • 4 开始写代码前,还需要一个详细设计图,也就是指导你每一步的代码应该怎么写,说到这,其实写代码像极了盖房子。架构设计就是出效果图,而详细设计,那就是我们的施工图。因为只有拿到施工图,我们才知道我们在做什么,应该怎么做,才能保证做完后与效果图一致。

上边的这些工作环节,可以保证一个没有经验的人不至于盖出一座豆腐渣房子。这是在工作中通过解决问题不断积累,优化出来的软件研发流程。当然,我们还在修行,还在不断改进。。。。。。

收藏
0
sina weixin mail 回到顶部