線上Jar包里,竟然藏有小電影
本文轉(zhuǎn)載自微信公眾號(hào)「小姐姐味道」,作者小姐姐養(yǎng)的狗02號(hào)。轉(zhuǎn)載本文請(qǐng)聯(lián)系小姐姐味道公眾號(hào)。
如果不加上代碼review環(huán)節(jié),你真的不知道小伙伴們能在代碼里干出什么事情來。不管是有意的還是無意的,缺少這個(gè)環(huán)節(jié),你的項(xiàng)目都會(huì)陷入可能的風(fēng)險(xiǎn)之中。
說一件真事。
你能想象么,在給客戶上線的jar包中,我們發(fā)現(xiàn)了讓人啼笑皆非的小電影,這件事一直在公司的內(nèi)部流傳。雖然從來沒有在經(jīng)驗(yàn)分享會(huì)上分享過,但幾乎每個(gè)人都知道這件事。
始作俑者早已經(jīng)離開了公司,但他的傳說一直在流傳。
事情是這樣的。這個(gè)項(xiàng)目屬于早期團(tuán)隊(duì)的作品,技術(shù)經(jīng)驗(yàn)都不是很足,他們使用的Java系的技術(shù),用的版本管理器是svn。
某一天之后,大家發(fā)現(xiàn)上線的時(shí)間變的特別的長(zhǎng)。
上線沒有高大上的持續(xù)集成,大家需要使用遠(yuǎn)程管理軟件,把打好的jar包傳到客戶的機(jī)器上,然后手工執(zhí)行。這都是老掉牙的處理方式了。但后來,光拷貝文件,就需要接近十幾分鐘的時(shí)間。但很神奇的是,大家都能忍受,所以很長(zhǎng)一段時(shí)間,上線人員就坐在電腦前看著進(jìn)度條在那里緩慢的前進(jìn),順便能喝一壺茶。
PS:不要diss這種上線方式,目前仍然有大部分做項(xiàng)目的前線隊(duì)員們,在用原始古老的遠(yuǎn)程拷貝法。
直到有一天有個(gè)上線人員因?yàn)榫W(wǎng)速原因,傳了幾次都沒傳上去,實(shí)在受不了了,打算看看jar包里到底有什么。
他使用winrar解壓了jar包,然后就發(fā)現(xiàn)了寶藏。里面有一個(gè)奇奇怪怪的文件夾,打開一看竟然是小電影。
即使是svn,也有提交記錄的。有懂行的終于追溯到了原因,那是一次午夜的提交。
有一段時(shí)間,項(xiàng)目加班,經(jīng)常到半夜。大多數(shù)成員在公司百無聊賴,于是有個(gè)小伙伴打算分享一下自己的資源,但是傳到哪里好呢?想了半天,就傳到svn服務(wù)器上吧。反正代碼都能拉下來,電影怎么能拉不下來?一頓猛如虎的操作之后,svn留下了他的印記。
真是讓人尷尬呀。領(lǐng)導(dǎo)默默的把svn倉庫刪掉重建,抹光了所有的提交記錄。
開發(fā)人員的水平能差到什么程度,你是永遠(yuǎn)無法想象的。世界上并不全都是BAT,無數(shù)的項(xiàng)目在使用非常初級(jí)的開發(fā)人員堆人力,尤其是一些大量使用外包的項(xiàng)目,他們的唯一目標(biāo)就是項(xiàng)目按時(shí)完工。所以甲方的系統(tǒng)到底是什么鬼樣子,可想而知。
我還見過很多這樣的案例。
系統(tǒng)的debug日志,4,5GB大小,也能夠打到springboot的執(zhí)行文件里;
文件上傳的測(cè)試圖片,數(shù)千個(gè)文件,也能夠跟隨著war包到服務(wù)器上風(fēng)光一把;
直接把編譯后的class文件拖到服務(wù)器上上線。直到最后源代碼都搞丟了,只能通過反編譯找出邏輯的蛛絲馬跡;
直接把開發(fā)環(huán)境在服務(wù)器重建一套,服務(wù)跑在eclipse上;
一個(gè)文件幾萬行,到最后IDE拒絕編譯;
這背后隱藏的現(xiàn)實(shí),是無數(shù)面試造火箭,入職擰螺絲的抱怨,是無腦招聘人海戰(zhàn)術(shù)的終極演進(jìn),是什么價(jià)位配什么系統(tǒng)的尷尬現(xiàn)狀。
但現(xiàn)實(shí)情況大多數(shù)是,寧缺毋濫是 拼不過人海戰(zhàn)術(shù)的,那些差的團(tuán)隊(duì),因?yàn)槿硕?,?huì)獲得額外的關(guān)注,Leader也會(huì)迅速成為管理型人才。什么代碼review,出現(xiàn)問題只不過是概率問題,幾年之后早就和現(xiàn)在的團(tuán)隊(duì)byebye了,誰又在乎長(zhǎng)遠(yuǎn)的利益?
作者簡(jiǎn)介:小姐姐味道 (xjjdog),一個(gè)不允許程序員走彎路的公眾號(hào)。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。我的個(gè)人微信xjjdog0,歡迎添加好友,進(jìn)一步交流。