維護一個爛系統是怎樣的一種體驗?
最近聽到不少程序伙伴們都在抱怨+吐槽:自己維護的系統很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開源社區軟件。