- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
今天收到了老板给的一篇关于老系统维护的文章,本人读后有了,了解了很多,也清理了本人诸多的模糊想法,现将此文章分享给各位,原文如下:
我之所以把这个主题放在过程管理篇的第一部分,就是因为很多程序员每天干的工作,不是在开发新系统,而是在维护老系统。这个理儿大家都清楚,世界上哪有那么多新项目新产品开发啊。一个公司,也就是那么2~3个产品,也不可能老有新的产品出现。那么多程序员,只能做维护的事情了,不断让软件升级,而这个软件是谁写的第一版代码,都无从查起了。一翻开源代码,会看见各个时期各种风格的源代码,甚至很多源代码都没有注释,根本不知道某些代码干嘛要那样写,到底是为了什么目的。
一天早上,有个网友给我发了一条消息:他是一个老产品版本维护开发人员。他应聘到这家公司的时候,这个产品已经卖了4年了。最初的开发者已经都在这4年中不断流失走掉了。他来了,任务就是维护这套软件,而且就他一个人维护这套台面,有BUG改BUG,有需求改需求。
虽说这套软件卖了4年,但真不知道是怎么坚持了4年。他接手的时候仍然是BUG百出。代码没有文档,没有注释,连表结构说明都没有。代码莫名其妙,经常横插一句代码。显然是客户报告了某个错误,为了临时决定这个错误而做的针对性处理,但到底是为了修补什么错误,代码也没有说明。所以他不敢乱动,但还要需求,只能硬着头皮来。他也不知道自己修改的代码是否还会引起其他的问题,只能凭空企求千万不要出问题。老板还在到处吹产品很成熟,而他每天都在心惊胆战,害怕这套代码不知道哪天突然崩溃,出了错误自己都收拾不了,那只能自己被K掉。他能想象得出老板发怒的情景:这么稳定的产品你都搞不定?!
他希望我能帮他出出点子。
我想了想,能有机会开发新产品或新项目的程序员是很幸运的,因为没有历史包袱,白纸画画。而现在大部分的软件公司都是拿一套已经有了型的代码到处修改,客户化为新项目。真正做一个新项目,从头编写这个项目的第一行代码,这样的机会比较少。
对于修改现有代理适应新客户新项目,这种情况非常多,也是大部分没有文档,修改定制没有注释。客户打电话说一个需求,技术能达到就答应下来修改,修改完就给客户覆盖,根本没有需求管理、版本管理。而这样的代码,还不是一个特定客户一套特定定制化代码,是要给其他客户也更新的。很可能这个客户好使,那个客户使用其他功能的时候就出错。按下葫芦起了瓢,是很常见的现象。
我问他:“现在你改的代码有注释吗?”
他回答:“没有,自己修改的自己都记得,即使忘了,看看自己写的代码也能回忆起来,所以也没有写。”
我问他:“那以后你走了,其他人怎么办?”
他回答:“反正也是一个烂产品,其他人怎么办,他就管不了了,就应该让这套烂代码尽快死亡,省的祸害别人。”
我问他:“那你找我帮助的目的是什么?”
他回答:“在我工作的这段期间内,它不要崩溃就可以了。”
我无语了。
关于老系统维护这个话题,我喝许多开发人员都有过深入的交流探讨。
许多从事开发的网友认为,一个老系统要维护好,必须具备以下关键因素:有责任心,有文档,设计前做好详细的需求分析,要有需求管理,要OO编程,要有专门的测试人员。如果没有这些,干脆推到重来,如果不让推到重来,那就赶快跑路,否则就容易当了冤枉替死鬼。
但现实中,往往维护老系统的就一个人。这是很矛盾的事情。一个软件的开发,往往1~2个月就完成,而它的销售、实施、升级周期却长达4~8年。但每个老板好像都认为软件已经开发完毕,修补修补都是小功能,所以一个老系统维护人员就OK了。殊不知白纸好画画,而要在别人的画儿上再能点睛成龙就是难上加难了。
我在管理运营企业的时候,发现遇到的难题也和维护老系统面临的很类似。都是缺这缺那,部门之间利益冲突,人的素质怎么也提不上来,员工和老板互相做猫和老鼠的游戏,不断博弈薪水和付出劳动力平衡。总有些公司的历史---留下的人留下的势力格局留下的客户印象留下的做事方法不能改变,也无法推翻重来,但公司还要发展还要提高,就必须已目标为中心,不断像骆驼一样挺着风沙干渴饥饿领队前进,有各种困难阻碍都要不断清除,无法根除就想办法平衡与缓解,时而让步时而迂回时而强势时而突然决策突然执行,公司就这样不断持续经营下去。
所以,维护老系统,也要想经营企业一样,不断继承包袱,不断细心剖析问题,剥茧抽丝理清思路,不断改进,不断渐渐从恶性循环走向良性循环,才能把一套烂代码扭转成可持续维护的代码。
写代码的8项建议
1、 重点把控输入数据的校验。 你看见很多横插进来的代码,就是由输入的漏洞进入,最后引起后续数据处理出错,所以以前的程序员不截源头,在最后爆发的地方堵漏洞。现在Windows程序都是消息事件触发式的,还说不准这个流程会走到哪里,他堵的了这个口,其余他根本想不到的触发,能堵住吗?所以,把控输入数据的校验,在保存按钮第一步代码中写好
文档评论(0)