/*********************************************************************************** * Filename: 一線(xiàn)研發(fā)之聲:軟件管理 之 那些隨風(fēng)飄逝的代碼與傳承 * Author:SedateFire * E-mail:SedateFire@126.com * Version:1.1 * Modify Date: 2012-01-18 * key: 軟件管理 版本管理 設計規劃 * 本文首發(fā): 環(huán)球資源-電子工程專(zhuān)輯-博客: 靜心齋 ***********************************************************************************/ 時(shí)間有些晚了,講個(gè)真實(shí)的故事起個(gè)引子吧,大家可以先討論下...... 公司招來(lái)了一位新人,恰巧市場(chǎng)反饋說(shuō)三年前的一個(gè)產(chǎn)品需要進(jìn)行小功能修改,于是決定讓他接手。你猜猜接下去發(fā)生什么事情... 那個(gè)新人抱著(zhù)售后給他的機器,站在辦公室的十字街頭,迷茫了 他不知道如何入手...不知道怎樣找到源代碼,對這臺機器的作用也只是大概了解。 帶他的師傅說(shuō),我也不知道這臺機器的最早創(chuàng )建者是誰(shuí),我來(lái)公司才兩年。你去問(wèn)問(wèn)研發(fā)部門(mén)經(jīng)理吧。 經(jīng)理說(shuō),哦哦,好像是那個(gè)xxx是原創(chuàng )者,那個(gè)家伙離職了。不過(guò)他的代碼放在哪里我也不大清楚,你到部門(mén)的交接文件夾找找看。 萬(wàn)幸,這個(gè)新人七搞八搞找到xxx的代碼移交,結果傻眼了,竟然1.xxx和2.xxx,3.xxx的代碼都有在使用,因為是根據不同國家的大客戶(hù)VIP版本,媽的,那我手里這臺機器載的是哪個(gè)版本的代碼。 經(jīng)理說(shuō),那我也不知道了,不然你去問(wèn)一下給你機器的那個(gè)售后,然后去問(wèn)生產(chǎn)部載的是哪個(gè)程序吧。 結果呢,生產(chǎn)部都是桀驁不馴的,不鳥(niǎo)他... 幾經(jīng)折騰,帶他的師傅幫忙問(wèn)話(huà),終于弄到了生產(chǎn)部對應的二進(jìn)制下載程序。 在這個(gè)過(guò)程中,新人發(fā)現,原來(lái)硬件也是有很多版本號的,新舊版居然都在量產(chǎn),供給不同的VIP大客戶(hù)。 先不管,編譯每個(gè)源碼進(jìn)行二進(jìn)制程序比對匹配。結果結果,竟然找不到源代碼了,所有程序編譯出來(lái)的二進(jìn)制檔和生產(chǎn)的比對結果都不一樣。 這下子新人不蛋定了,源碼都“丟失”了,程序里面一堆編譯條件,也不知道哪個(gè)和哪個(gè)的組合才能夠得到和生產(chǎn)部相同的二進(jìn)制檔。 這些才只是悲催的開(kāi)始,更為悲催的是程序即使找到了,也沒(méi)有說(shuō)明文檔。 怎么辦,從main開(kāi)始看唄,邊摸索使用機器,邊看代碼 啃了源代碼三四天,邊看邊自己注釋?zhuān)貌蝗菀撞牌D難地適應了原創(chuàng )者的代碼風(fēng)格,剛剛要找到線(xiàn)索時(shí),老板急了,怎么一個(gè)小功能改到現在還沒(méi)好,他用懷疑的眼神看著(zhù)你...... 怎么辦,加班吧 有的時(shí)候,是真正的連源代碼都找不到了,因為人事異動(dòng)頻繁,電腦更換,硬盤(pán)損壞等等原因,再也無(wú)法找到那些代碼了。那就哭吧,只好跟客戶(hù)推脫說(shuō)這個(gè)產(chǎn)品,因為abc原因,無(wú)法升級。 當然,可以預見(jiàn)的是,新人走了,一聲不吭,永不回頭?蛻(hù)無(wú)法忍受維護周期越來(lái)越長(cháng),忍痛更換了整套系統,用別的公司產(chǎn)品。 |