1. 程式人生 > >碼農西遊 | 為啥有些大公司技術弱爆了

碼農西遊 | 為啥有些大公司技術弱爆了

redirect 出租房 java EDA fcc 刪除 新的 字母 sql

技術分享圖片

閱讀本文大概需要 4 分鐘。

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

悟空之友的故事

今年年初,到一家互聯網公司實習,該公司是國內行業龍頭。

不過技術和管理方面,卻弱爆了。

那裏的程序員,每天都在看郵件,查問題工單。

這些問題,多半是他們設計不當,造成的。

代碼寫的一團糟,全是復制粘貼,連作者都沒改,大家普遍不寫註釋,也不格式化,代碼歪歪扭扭。

一個項目裏,httpclient竟然出現了四種。

一種是該公司研發部寫的,

一種是老版本的開源項目,

一種是新版本的開源項目,

還有一種是開發人員造的輪子。

打接口請求響應日誌,竟然不知道用攔截器。打錯誤日誌竟然不打上下文信息,每個人一種日誌風格,千奇百怪。許多重要的中間流程,居然不打日誌。

idea、eclipse、myeclipse的配置文件竟然全部傳到項目裏去了。

該公司混了兩年的程序員,跟快遞公司做查詢接口,竟然不知道加密運單號。

所有服務間通訊,都沒有設requestId,導致跟蹤會話很困難。

一個沒什麽qps的邊緣接口,居然做消費者生產者+阻塞隊列的異步模式。顯得你技術少是不是。不知道異步會增加維護成本,提高測試難度嗎?而且,任務隊裏沒有考慮持久化,趕上發布,丟了好多任務。

讀取一個小小的xml和exc配置文件,居然用流式解析,沒見過這麽二逼的,真是醉了。

做優化全靠拍腦門拍大腿,難道不會用excel分析日誌,用jprofile掃項目?

一個100以內的常數集合遍歷,他也要寫個優化算法進去,算法跟業務還攪在一起,一團亂麻。

每個人都在嚷嚷性能、算法、分布式計算……

幾乎沒有文檔,全靠從代碼反推邏輯。

有枚舉他不用,非要在每個頁面上,把枚舉值挨個兒寫死,知道後面改代碼多麽費勁嗎?

欺騙性的變量名,裏面存儲的是AES加密的,變量名後綴卻寫成了DES;裏面存的是小寫字母,卻寫成upperStr。

一個方法十幾個參數,有三分之一是極其簡略的縮寫,註釋肯定也沒有的。

一個類寫到三四千行是常事。

開發自測,居然要把代碼全丟到公共機器上,而且都是走svn,他們把svn當ftp用。

svn裏面大量的無意義提交,一多半的提交連都編譯不過去。

我看到有個應屆生,改了兩句話,馬上提交,說是怕代碼丟失。

一個運行了兩年的項目,spring的包掃描明顯配錯了,有些bean根本掃不進來,居然沒有人發現。

一半的bean在spring管理下,另一半的bean他們自己寫單例模式來實例化。

他們用mysql來做審計系統,出報表,有個報表要跑8分鐘。

原來是有人用字符串來存多值(逗號分隔),sql裏寫了like,導致沒有利用到索引。

為什麽不用pg,pg在sql編程方面,功能更豐富,更適合做統計,它本身就支持數組。

程序員們都是得過且過的態度,怎麽把代碼灌進去,跑的通測試,就算交差了。

為什麽大型互聯網公司,技術和管理這麽差勁,是怎麽形成的?(這家公司是賣機票的,沒有明確說出公司名字,是怕給自己惹麻煩)

甲:這個A開源庫舊版本有崩潰問題啊。

乙:換新版本的A。

甲:換了新版本A,用舊的 GCC 編譯不過啊。

乙:換新版本GCC。

甲:換了新版本GCC,B開源庫不兼容啊。

乙:換新版本的B。

甲:換了新版本的B,導致性能下降啊。

乙:開多線程。

甲:開了多線程導致延遲抖動不同步了。

乙:換新的延遲修正算法。

甲:換了新延遲修正算法偶爾會崩潰啊。

乙:要不。。。我們還是去看看那個A開源庫的舊版本崩潰能不能修好吧。

如今上點規模的IT公司,其軟件項目的規模和復雜度都遠遠超過工程師的能力上限了,都只能小心翼翼地修補。

有時局部的大改動會引發連鎖反應,大改動的風險和成本很難控制,沒有巨大的收益誰也不敢隨便改,你能看到的問題老員工看得更清楚,甚至也清楚怎麽解決,但是不動手的原因就是不知道出了事誰來背黑鍋,技術上的事情誰敢說100%不出事的。

那是不是大公司的技術項目就沒救了呢?

也不一定,有些事要等個機會的,常見的機會:

1. 技術基礎平臺大革命,比如移動互聯網的興起,從PC遷移到了手機端,很多舊的技術代碼就可以拋棄了,手機上從零開始。

2. 競爭對手小宇宙爆發,對手搞出一項技術取得了競爭優勢,被迫追趕,這時候死馬當活馬治,改出任何問題也都能忍了。

3. 人事大動蕩,管理層和基層都大換血,舊代碼已經沒人有能力維護下去了,不得不重來。

技術分享圖片

技術分享圖片

碼農西遊特別申明:本文文字內容轉自 www.raychase.net/3529 ,圖文效果為原創,如有侵權,請聯系刪除。

往期精彩回顧

程序員接私活的7大平臺利器

碼農深夜騎車逆行被攔後大哭,稱壓力好大!

四面美團,收割 offer

MySQL 優化實戰記錄

龍崗一個月350的出租房,我搬出來了

程序員工作 996 生病 ICU ?

一次非常有趣的 SQL 優化經歷

如何閱讀Java源碼?

沒執行過 rm -rf /* 的開發不是好運維

你與一份好簡歷之間的距離

還在使用SimpleDateFormat?

Java程序員的成長之路

送給程序員們的經典電子書大禮包

技術分享圖片

碼農西遊 | 為啥有些大公司技術弱爆了