概述
为什么项目越来越难以维护
- 软件生命周期
软件生命周期
软件生命的周期包括:
问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级、废弃。
在上述阶段中:
维护升级是时间最长的阶段,正确的维护项目可以极大的延长软件的生命周期。
以上是百度百科对软件生命周期的定义。
维护升级时间占比最长,我们在这里讨论一下怎样为什么项目维护起来越来越难。
我现在在做的是一个很老的项目,有多老呢?这个项目大概03-04年的时候就已经开始上线了,期间一直没有进行重构,维护起来感觉越来越力不从心,平时的工作就是填前任留下来的坑同时留下新坑。
就我个人的经历,总结一下(tucaoyixia)我认为的能提高维护效率的方法:
1:文档清晰
文档保持统一,如果一个项目是好几个人同时在做,那么一个清晰统一的项目文档是必不可少的,可能一个人改了一个模块的功能,只在自己本地记录了一下,给自己的同事说明了一下情况,同事们觉得我现在知道了。并不会放在心上,后期要动这块逻辑的时候,如果开发这块的人离职或者不在公司,那就意味着需要后来的人重新梳理这块的逻辑,大大增加维护时间和成本。同时,项目文档要清晰,以我们公司举例,我们公司主要是对日外包业务,所以项目文档全是用日文写的,开发人员在国内,对于不懂日语的人来说,文档形同虚设,提交的中文文档翻译成日语后,作者本人都看不懂,更不用说其他人。
2:编码规范
相信每个人都知道编码规范对项目是非常重要的,项目是宝山还是屎山,很大程度上取决于此。
假设有一个项目,这个项目有一个文件导入功能,读一条数据往数据库插一条数据,有个需求是插入之前先检查一下数据是否正确,于是在这个循环里进行了一次查库操作。过段时间原作者离职,后来接手的人又遇到一个类似的需求,一看前人是这么写的,那我也就这么写喽…经过十几年的积累,这个时候,插入一条数据最多需要查库接近两百次,加上处理数据什么的,一条数据的处理时间大概是7-8秒,用户体验及其糟糕。再加上项目追赶进度,后来人也没时间和精力对这块进行重构,能做的就是再往这个屎山上拉一泡屎,然后看着这个文件导入的时间越来越长。
为了防止上述情况的出现,代码CodeReview 是必不可少的,这样一方面是为了防止垃圾代码的产生,另一方面也是同事交流和新人培养的一个契机。
3:追本溯源
有时候发现一个问题,为了最快把损失降到最低,往往有一个临时解决办法和一个永久解决办法,临时解决办法就是先把现在这个问题解决了,先给这块加个补丁,这样往往最快,但是并不能从根本上解决问题,只是留给开发人员一个缓冲时间去调查根本原因,从而彻底解决该问题。但现在很多时候,都没有去做永久对应,往往是这个补丁加上了,那这块的问题先放一放,还有一堆功能等着去做,然后不了了之。最后临时解决办法就成了永久的解决办法,项目中充斥着这种补丁,架构臃肿,维护和开发的成本越来越高。
4:及时删除废弃代码
这里也不扯什么项目重构了,反正这事也不是一个小小的程序员可以决定的,但是废弃的代码和文件一定要及时删掉!废弃的代码一定要及时删掉!!废弃的代码一定要及时删掉!!! 不删的话,后来人无法知道这块代码是否有用,也不敢去动这块代码。白白浪费后来人的调查时间
5:版本控制
版本控制工具的作用我就不说了,相信大家都懂。这里说说要是没有版本控制会怎么样,我们这个项目之前是有版本控制的,后来不知道为什么舍弃不用了,代码同步什么的全靠人工,小功能还好,大一点的功能简直就是灾难,一次修改上百个文件,同步代码的时候要是有一个文件漏掉就报错,出错率极高,而且人力去处理,效率极其低下。我现在还不知道为什么要放弃版本控制工具…
写着写着就开始吐槽了,这都是我在项目中踩的坑,大家觉得项目中有什么糟心事也可以在下面分享一下,相互学习,避免踩坑
最后
以上就是彩色芹菜为你收集整理的为什么项目越来越难以维护软件生命周期的全部内容,希望文章能够帮你解决为什么项目越来越难以维护软件生命周期所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复