国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

程序員那些悲催的事兒

發(fā)布時(shí)間:2011-3-23 21:21    發(fā)布者:1770309616
關(guān)鍵詞: 悲催 , 程序員
在StakeOverflow上有這樣一個(gè)貼子叫“Confessions of your worst WTF moment”(WTF就是What the fuck的縮寫),挺有意思的,我摘幾個(gè)小故事過(guò)來(lái),希望大家在笑過(guò)之后能從中學(xué)到什么——所有的經(jīng)驗(yàn)都是從錯(cuò)誤中來(lái)的(我在其中加了一些點(diǎn)評(píng))
我們公司的軟件是給警察局用的,那是一個(gè)對(duì)用來(lái)處理被逮捕的人的系統(tǒng),此系統(tǒng)還需要收集臉部特征和指紋信息,并且,這個(gè)系統(tǒng)和會(huì)向FBI的系統(tǒng)提交這些信息。當(dāng)我們?cè)跍y(cè)試這個(gè)系統(tǒng)的時(shí)候,我們一般都是用我們自己的指紋,當(dāng)然,數(shù)據(jù)庫(kù)聯(lián)著的是我們的測(cè)試數(shù)據(jù)庫(kù)。不過(guò),有一次,在我們測(cè)試完后,我們忘了把系統(tǒng)切換回生產(chǎn)庫(kù),于是我們的測(cè)試數(shù)據(jù)庫(kù)就聯(lián)上了生產(chǎn)環(huán)境,于是我們的指紋信息和照片就散布到了其它系統(tǒng)中……清除我們警察局這邊的還好辦,但是,你需要波士頓警察局警司去法院簽字才能從FBI的數(shù)據(jù)庫(kù)中清除我們的信息。
點(diǎn)評(píng):測(cè)試環(huán)境和生產(chǎn)環(huán)境的數(shù)據(jù)不要混在一起。
有一次,我需要向新系統(tǒng)中導(dǎo)入一堆數(shù)據(jù),因?yàn)閿?shù)據(jù)量太大,需要5個(gè)小時(shí),只能在夜里來(lái)干,在系統(tǒng)需要正式使用前2個(gè)小時(shí),數(shù)據(jù)導(dǎo)完了,此時(shí)是凌晨4點(diǎn)。隨后,我需要?jiǎng)h除一些數(shù)據(jù),于是我在SQL命令地上輸入了“DELETE from important_table; where id=4”。是的,我沒有看到哪里還有個(gè)分號(hào),天啊。
點(diǎn)評(píng):這就是加班工作的惡果。另,在delete之前最好先做一次select。
我把我的管理員口令提交到了一個(gè)開源軟件的源碼里。
點(diǎn)評(píng):1)版本管理器里的東西是刪不掉的。2)一些用戶和口令要hard code在代碼里,所以,不要混用代碼使用的權(quán)限和管理員的權(quán)限,小心管理程序的運(yùn)行權(quán)限,為其注冊(cè)專門的用戶。

我為一個(gè)很大的銀行開發(fā)軟件,在我的代碼里,我為一段理論上根本不可能執(zhí)行到的代碼加了一個(gè)報(bào)錯(cuò)信息。有一天,不可思異的事發(fā)生了,這條報(bào)錯(cuò)信息顯示在了該銀行的1800個(gè)分行的超過(guò)10000個(gè)終端上——“如果你看到這個(gè)信息,說(shuō)明整個(gè)系統(tǒng)被Fuck了,回家吧,祝你過(guò)得愉快!”
點(diǎn)評(píng):“假設(shè)是惡魔”,Assume意為Ass – u – me,意為——搞砸你和我。對(duì)于一些關(guān)鍵東西,永遠(yuǎn)不要做假設(shè)。小心你言語(yǔ)中的——“可能、應(yīng)該、覺得、不應(yīng)該”等詞語(yǔ),程序可不認(rèn)這些東西。
我遠(yuǎn)程登錄到服務(wù)器上加幾個(gè)防火墻規(guī)則。第一件我想干的事是在不允許任何人的任何連接,第二件是,為某個(gè)端口打開訪問(wèn)權(quán)限。不過(guò),我在做完第一件事后就把配置保存了,結(jié)果其生效了……
點(diǎn)評(píng):這樣的事經(jīng)常發(fā)生,做遠(yuǎn)程網(wǎng)絡(luò)管理的人多少會(huì)有那么幾次發(fā)生這樣的錯(cuò)誤。在你將你的網(wǎng)絡(luò)配置生效前,你得想一想,斷線了你是否還能登得上去。改配置不要太沖動(dòng),生效前檢查幾次。
我們的代碼中有一個(gè)模塊完美地工作了很多年了,只是代碼太亂了。我說(shuō)服了我的老板,我可以重寫這個(gè)模塊,于是我花了三個(gè)星期來(lái)重寫這個(gè)模塊。今天 ,我還記得,我的老板站在我的后面看著我,而我在在流著斗大的法汗珠去fix被我重寫的“超級(jí)漂亮”的那個(gè)模塊中一個(gè)接一個(gè)的bug。從那以后,我再也不重寫代碼了,除非有重大的利益。
點(diǎn)評(píng):這就所謂的屠宰式編程。這個(gè)案例告訴我們兩個(gè)道理,1)維護(hù)代碼要用最最最保守的方法來(lái)進(jìn)行。2)重構(gòu)代碼前要像一個(gè)商人一樣學(xué)會(huì)計(jì)算利益。當(dāng)然,ThoughtWorks的咨詢師一定會(huì)告訴你TDD,結(jié)對(duì),極限等等方法告訴你如果實(shí)踐重構(gòu)。但我想告訴你,一個(gè)程序在生產(chǎn)環(huán)境里運(yùn)行好幾個(gè)年能沒有問(wèn)題是一件很不容易的事,那怕其中的代碼再爛,你再看不過(guò)去,你都要有一個(gè)清醒的頭腦明白這幾點(diǎn),1)軟件的運(yùn)行質(zhì)量是遠(yuǎn)遠(yuǎn)大于代碼質(zhì)量的,2)你的測(cè)試案例是遠(yuǎn)遠(yuǎn)小于生產(chǎn)環(huán)境的,3)軟件的完美的質(zhì)量,是靠長(zhǎng)時(shí)間的運(yùn)行、測(cè)試和錯(cuò)誤堆出來(lái)的,而不是某種方法論
————————————————
相信大家做程序員這一生中也有很多發(fā)生在自己身上的悲催的事兒,歡迎分享。我先分享幾個(gè)我親身經(jīng)歷過(guò)的事。
一個(gè)發(fā)生在我的領(lǐng)導(dǎo)身上。
我98年剛參加工作的時(shí)候,在某單位網(wǎng)絡(luò)部門,一次,我們整個(gè)部門去給下屬單位培訓(xùn)Cisco路由器,結(jié)果我們發(fā)現(xiàn)帶去培訓(xùn)地點(diǎn)的設(shè)備少帶了集線器HUB,設(shè)備連不起來(lái)。于是領(lǐng)導(dǎo)很不高興,質(zhì)問(wèn)我們?yōu)槭裁礇]有帶集線器?那幾個(gè)對(duì)領(lǐng)導(dǎo)平時(shí)就不滿的老員工說(shuō)辦公室里沒有集線器了,都借給別的部門了。領(lǐng)導(dǎo)想了想,問(wèn)我:“陳皓,我記得上次我給過(guò)你個(gè)集線器”,我說(shuō),“好像沒有吧,我記不起來(lái)了,什么牌的?幾口的?”,領(lǐng)導(dǎo)說(shuō): “什么牌子想不起來(lái)了,不過(guò)我記得那個(gè)集線器是一個(gè)口的”。“一個(gè)口的?!”,我心里嘀咕著,“真敢說(shuō)啊”。但我不敢接話了。那幾個(gè)老員工來(lái)勁了——“哪有一個(gè)口的HUB啊,一個(gè)口的怎么聯(lián)兩臺(tái)電腦啊?”,領(lǐng)導(dǎo)說(shuō):“用兩個(gè)一個(gè)口的不就行了”。領(lǐng)導(dǎo)這話一出,全場(chǎng)一片寂靜,無(wú)言以對(duì)……
后來(lái):我們所有的組員都離開了我們的這個(gè)領(lǐng)導(dǎo),我們的這個(gè)領(lǐng)導(dǎo)今天還在那里工作。我想告訴大家,很多時(shí)候該走的是領(lǐng)導(dǎo)(包括外企,我上一東家正在裁人,不過(guò)我覺得該被裁掉的應(yīng)該是那些經(jīng)理)。我們的領(lǐng)導(dǎo)經(jīng)常出這樣或那樣的笑話,這讓我隨時(shí)隨地地警醒自己——“不要當(dāng)一個(gè)被人笑話的經(jīng)理”,于是,今天我還在努力地學(xué)習(xí)技術(shù)。
另一個(gè)發(fā)生在我身上
剛剛接觸Linux的時(shí)候,還不是很懂,那時(shí)的PC還只有奔3,編譯公司的程序好慢啊,有時(shí)候?yàn)榱苏{(diào)查一個(gè)問(wèn)題,需要不斷地打log,來(lái)來(lái)回回地編譯,很不爽。直到有一天,硬盤不夠了,df一下,發(fā)現(xiàn)/dev/shm還有空間。于是,把全部程序copy了過(guò)去,發(fā)現(xiàn)編譯起程序超快無(wú)比,爽得不行。于是就把工作環(huán)境放在/dev/shm下了,連開發(fā)都放在這里了。這一天,開發(fā)一個(gè)功能,改了十來(lái)個(gè)文件,加班很晚,覺得基本搞定,大喜,回家睡覺。第二天一來(lái),發(fā)現(xiàn)/dev/shm下空了,一個(gè)文件都沒有了,問(wèn)同事,同事不知,同事還安慰我說(shuō),上次他的文件也不知道被 誰(shuí)刪了,于是我大怒,告老板!老板也怒,發(fā)郵件到整個(gè)公司質(zhì)問(wèn)大家誰(shuí)刪了陳皓的程序,無(wú)人應(yīng)答。IT部門答,“昨晚唯一的操作就是重啟了linux服務(wù)器,什么也沒干,不過(guò)我們天天備份服務(wù)器,可以恢復(fù)”,IT部門問(wèn)我丟的文件在哪個(gè)目錄下?于是,我reply to all – “在/dev/shm下……”,哎,人丟大發(fā)了……
后來(lái):我很感謝我以前犯的這個(gè)錯(cuò),從那天以后,我開始立志學(xué)好Linux,這個(gè)錯(cuò)誤讓我努力,讓我發(fā)奮。所以,我想告訴大家——尤其是剛出道的程序員,你們要多多犯錯(cuò),要犯錯(cuò)那種丟死人的錯(cuò),這樣你才會(huì)知恥而勇
再來(lái)一個(gè)發(fā)生在我同事身上的
01年,我們開發(fā)銀行系統(tǒng),在AIX上開發(fā),RICS6000很貴,只能在客戶那里開發(fā),開發(fā)進(jìn)度很緊張,慢慢地硬盤就不夠用了,系統(tǒng)中有大量的垃圾文件,于是需要清除一些文件,于是有一個(gè)同事寫了一個(gè)腳本,可以自動(dòng)清除的各種不重要的文件,里面有一條命令大致是這個(gè)樣子“ rm -rf ${app_log_dir}/*”,意為清除程序運(yùn)行的日志。為了使用這個(gè)腳本,需要在root用戶下運(yùn)行,一開始還不錯(cuò)。直到有一天,某人一運(yùn)行,整個(gè)根就沒了。搞得整個(gè)團(tuán)隊(duì)只能用一周前的備份重寫已寫好的代碼。后來(lái),才發(fā)現(xiàn)原因是${app_log_dir}變量為空,于是成了“rm -rf /*”……
后來(lái):這個(gè)事后,我的那個(gè)同事,把rm命令改了名,并自己寫了一個(gè)rm命令,把刪除的文件先放到一個(gè)臨時(shí)目錄下。而我也因?yàn)檫@個(gè)事情,到今天,每次當(dāng)我在root目錄下使用rm時(shí),敲擊回車的手都是抖的。(另,rm時(shí)永遠(yuǎn)使用絕對(duì)路徑)這里,我想告訴大家——犯錯(cuò)不可怕,可怕的是不會(huì)從中總結(jié)教訓(xùn),同一個(gè)錯(cuò)犯兩次
歡迎分享發(fā)生在你身上那些悲催的事。
本文地址:http://m.qingdxww.cn/thread-59585-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
leo2002zhang 發(fā)表于 2011-3-25 18:15:18
呵呵!
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲福利一区| 亚洲视频在线播放| 日本亚洲精品无码区国产电影 | 97在线播放视频| 久久99r66热这里只有精品| 日本视频久久| 欧美操操操操| 人人干人人舔| 五月婷婷啪| 视频在线精品| 一二三四社区在线视频社区| 91情国产l精品国产亚洲区| 国产色婷婷精品人妻蜜桃成熟时| 两性午夜色视频免费网站| 亚洲高清中文字幕| 色无极在线影院| 日本人成在线视频免费播放| 视频一区二区三区欧美日韩| 视频免费观看视频| 97色伦久久视频在观看| 热の中文 AV天堂| 日本综合在线| 色伊人久久| 天天干天天做| 我和她69式好爽| 综合图区亚洲白拍在线| 国内精品久久影视免费| 性插图动态图无遮挡| 色综合天天操| 青青草原成人| 伊人久久大香线蕉avapp下载| 亚洲欧洲淘宝天堂日本| WWW国产亚洲精品久久久日本| 快穿做妓女好爽H| 中文字幕在线不卡精品视频99| 日本红怡院亚洲红怡院最新| 四虎免费在线| 午夜精品国产| 99视频久九热精品| 欧美亚洲高清国产| 日本亚洲欧美在线|