为什么项目越来越难以维护

为什么项目越来越难以维护

软件生命周期

软件生命的周期包括:
问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级、废弃。
在上述阶段中:
维护升级是时间最长的阶段,正确的维护项目可以极大的延长软件的生命周期。
以上是百度百科对软件生命周期的定义。

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

写着写着就开始吐槽了,这都是我在项目中踩的坑,大家觉得项目中有什么糟心事也可以在下面分享一下,相互学习,避免踩坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值