最近听到不少程序伙伴们都在抱怨+吐槽:自己维护的系统很SB,框架老旧能力薄弱,编程语言语法繁琐,很多 bug......但是公司因为安全和成本考虑,迟迟不更新。
(当然啦,这种情况肯定是不会发生在近乎团队中的,这点我们还是很自信的。)
那么,维护一个烂系统到底是怎样的一种体验?听听他们都是怎么说的:
杜琪,工程师
掉进了屎坑的感觉~
你们是没见过同一个系统数据库设计中,日期有的用字符串有的用date
你们是没见过需要从一个指定的表中获取id值
另外就是需要手工保证数据不重复,用个distinct关键字不可以??!!
燕剑波,长路漫漫.....
恨不得把之前的哥们一家子都埋到他挖的坑里去,不够就把祖辈一起埋进去。
Qian Larry,多年码农
有幸经历过这样的事情。
该系统是一个投资下单系统,客户是全国各大证券公司,在某细分领域里市场占有率有80[[[[[%]]]]]。当初少不更事,一听金融行业好,就来到了这个公司。久了便发现跟想象中完全不是一个事。
当时系统已经上线了约莫八年。烂系统都是如此类似——框架落后,文档缺失,功能冗余,版本管理混乱。最早的一批开发者又走得一个不剩,期间换过4,5批人,思路都不一样。就连代码注释都寥寥无几,或者写得只有当事人自己看得懂。后来的人只敢往里加代码,不敢轻易改代码。一切以稳定第一,性能兼顾,代码优雅易读什么的统统靠边站。
那些说重写项目的人讲得轻松,复杂的项目多了去,不比学生成绩管理系统(许多人的毕业设计)。就该系统来说,其之复杂,规模,都不是一个人可以一肩挑的。修改离职人员的代码更是难上加难。最后光有技术还不够,大量的业务逻辑必须具备一定证券期货知识才能着手(为此我还考了证券从业资格证)。
不光系统烂,公司当时的管理方式也很有问题。公司的销售员毫无业务水平,只知道收钱,不仅承担不起售前的工作,更令人称奇的是把程序员的电话直接留给客户,有需求直接致电程序员帮改。天大的笑话啊!我来给不是软件行业的人解释一下后果:
1.不合理的需求要挡,至少要经过小组分析。许多程序员不论什么需求埋头就做,危害很大。
2.重复造轮子,或者客户要三轮车就照做三轮车,可明明有现成的轿车却不用。
3.打乱开发计划,客户的需求无穷无尽,永远在做手边上嚷嚷最响的需求而不是真正迫切的需求。
4.过多的客制化,导致项目没有办法整合成一套通用版,导致日后维护更加困难。
有个别同事完全没有认清到危害,反而傻X兮兮地以为跟客户混了个脸熟,觉得自己身价倍增。可气可叹。
《软件随想录》和《项目百态》是两本好书,公司的管理方式以及系统缺陷在这两本书里都有体现。我在这家公司干了不到一年就走人了,在阅读这两本书的过程中时常会心一笑,有种怒其不争却又暗暗庆幸的滋味。
ZhangFortune,喜欢代码 软硬兼施 程序猿进行时
见过在model层,拼html 拼javascript的。不能说傻吧,谁没年轻过啊。
Duke,一只水猫
在上一家小公司弄过系统,找的用友折腾了小半年,期间仗着总经理给予支持还算有人配合,但上线以后……
组织培训就来了四个人,两个一直玩手机,一个睡觉,一个进来不久接了个电话就跑了。
生产部的一个负责人在我演示的时候说屏幕太刺眼看不清,我去你妹的中午休息甚至上班时看电视剧斗地主怎么那么聚精会神呢?
库管说懒得挨个往系统里录物料。
领料时候管物资的经理说没有手写的签字他不认。系统是什么他不管。
渐渐地一个我认为还算适用那个公司业务的系统就被各种纸质表格取代了。
最后领导拿着我当初写的项目可行性分析报告怒喷我光花钱不办事。
怪我咯?
乐志浩,合伙人交配中心
你们听说过Vision Plus 吗?
OR你们听说过First Data吗?
吴强,安卓程序员
真正牛逼的程序员是凤毛麟角,难得一遇的。但是如果一个项目真的是由一个牛逼的程序员团队打造的,以题主的能力很可能难以在这样一个团队里立足。
所以还是好好提升自己为主。大的框架不好改,就从局部的小模块开始,慢慢改。子子孙孙无穷尽也。
匿名用户
某大企业的内部系统,开发方在业内也很有名,每次升级就是一个干巴巴的word文档,你按照上面走是肯定走不通的,一定要有老司机带你,升级当然都在晚上,提心吊胆的盯着屏幕堪比看恐怖片。各个分公司谁先吃螃蟹谁倒霉,最后升级的也好不到哪里去,依然会出现跑了一晚上停了的问题……于是夜里要经常定闹钟爬起来看。
bug经常有,一项重要的工作就是直接进数据库里改数据,看了都怕。改了以后继续有脏数据涌进来,没完没了。
基于前面朋友说的:“要么忍,要么跑”理论,我跑了。
今年春节给以前的同事打电话,他说前不久升级以后系统出了问题,忍无可忍反编译源代码,找到BUG开发方才肯认帐。
严重怀疑开发方有没有做功能测试,压力测试?那是什么,可以吃吗?
IT浪人
在职的时候怒气值高,各种讽刺挖苦;
走人的时候暗自庆幸;
两年以后忽然从这个傻逼系统得到灵感(或者教训),颇有感慨;
三年后有点后悔维护的时候自己抱怨太多,而行动太少;
五年后意识到自己怒气值高的原因不是因为系统傻逼,而是自己驾驭不了;
八年后再次需要维护“傻逼”系统;
十年后方才领悟,“这个世界的本质是混乱不可知,而非有序可测“;
甚至技术新旧的界限也开始模糊。
其实是,自己不够谦虚敬畏。
高翔,看破不说破
自己都要变成傻逼了
林海云
维护一个傻逼系统是怎么样的一种体验? 就是以前的人挖好了很多坑,埋好各种雷,现在的人挖其他的坑 补旧的坑。将来的人重复着现在的人的动作~
匿名用户
- 入职3个月内,喷,这么大的系统,上亿pv的系统居然这么做的,这么做的,我提出那么做,那么做,你们都不鸟我,推翻我,哎 你们都是傻逼。
- 入职半年,咦,好像他们说的有道理啊,如果按我那么做,就会出现那些问题,那些问题......
- 入职一年,哦,只能这么做,这么做,你一个新来的,知道个屁啊,还那么做那么做。
- 入职两年,噢,这么做,这么做有好处,有坏处,可以再此基础上那么做那么做。
存在都是有道理的,只是我们,太过浮躁。
匿名用户
前一个公司的产品主要是一个WEB和一套存储过程,这是前提
WEB 是ASP.NET 2.0开发的,大概有十几个年头了。。支持的浏览器只有IE8以下.....
新进入公司所有的开发就是照猫画虎开发新模块,拼凑存储过程变成一套新的,所有的工厂源码管理混乱。
然后就是烂系统的通病,只敢加代码,不敢删除代码,可维护性和易读性越来越差.....
kelvin,IT/港漂/果粉
本文来自微信公众号“近乎SNS”,近乎是一款.net领域内领先的的SNS开源社区软件。