免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linkman的學(xué)習(xí)記錄

我不知道,自己現(xiàn)在還算不算一個(gè)程序員。如果還算程序員的話,我肯定不是那種絕頂聰明的程序員。

我不是一個(gè)聰明的程序員,不能在鍵盤上手指翻飛,靈光似劍,一日千行,閉目成章。大師的高度,遠(yuǎn)非我能指望,我會(huì)犯很多錯(cuò)誤,只是一個(gè)普通的程序員。

所以,對(duì)于編程,我是一個(gè)悲觀主義者。

我不相信,所編寫的程序能夠一次編譯通過;也不相信,能在家里將程序的所有錯(cuò)誤都找出,而不需要出差現(xiàn)場(chǎng);更不相信,我的程序能夠在不同的環(huán)境下,對(duì)各種異常,都處理得非常完美;尤不相信,我的程序沒有任何內(nèi)存丟失,可以連續(xù)運(yùn)行一周。

我本來不是一個(gè)悲觀主義者,曾經(jīng)的我,是那么激揚(yáng)那么狂妄,只是一次次被打擊,讓我越來越務(wù)實(shí),越來越冷靜,越來越清醒地看待自己。隨著歲月的增長(zhǎng),我編程的次數(shù)已越來越少,但是,我的悲觀主義思想?yún)s越來越濃。

一打開程序,我便想到,因?yàn)檐浖鲥e(cuò),而不得不給用戶寫檢討;便想到,因?yàn)槊吭滤罊C(jī)一次,客戶對(duì)我大發(fā)雷霆;便想到,因?yàn)楫a(chǎn)品質(zhì)量問題,而陪客戶喝酒,連飲七大瓶啤酒。

那七瓶要命的啤酒,依然不能讓客戶回心轉(zhuǎn)意,于是,我成了一個(gè)悲觀程序員。

我是悲觀主義程序員,好在還有五件武器。

第一件武器:斷言(ASSERT);

我希望,任何調(diào)用我的模塊的程序,都能按照希望的參數(shù)格式和調(diào)用方法,正確地調(diào)用我的模塊。因此,在我所編寫的每一個(gè)模塊內(nèi),都會(huì)大量地使用斷言(ASSERT),在模塊中加上了斷言,我便相信,程序模塊有了一個(gè)一個(gè)相對(duì)真實(shí)的調(diào)用環(huán)意,便有了一種虛幻的安全感。

第二件武器:靜態(tài)代碼檢測(cè)工具,如PC-lint,有時(shí)也使用編譯器的最嚴(yán)格的編譯級(jí)別;

我從不認(rèn)為,自己是一個(gè)對(duì)C/C++/VC等,都非常熟悉的程序員,經(jīng)常會(huì)不小心使用一些不正常的語法,或是不太考慮字段的邊界,因此,在程序編到一定的階段,都會(huì)采用pc-lint,對(duì)我所編寫的程序,進(jìn)行嚴(yán)格的編譯檢查。

第三件武器:動(dòng)態(tài)代碼檢測(cè)工具,如boundcheck;

對(duì)于C/C++程序員而言,最大的痛苦就是內(nèi)存泄漏,或其它資源泄漏了,我對(duì)內(nèi)存泄漏有天生的恐懼,也經(jīng)常在內(nèi)存丟失方面犯錯(cuò)誤,因此,在產(chǎn)品發(fā)布給用戶前,一定會(huì)采用動(dòng)態(tài)代碼檢測(cè)工具,進(jìn)行一次徹底的測(cè)試。

第四件武器:?jiǎn)卧獪y(cè)試工具,如cppunit;

我沒有足夠的自信,認(rèn)為自己能夠很好地駕馭多個(gè)模塊的大型程序,也不相信自己寫過的、超過50行的程序會(huì)沒有問題,因此,我會(huì)盡量引入單元測(cè)試,對(duì)每一個(gè)重要的函數(shù)或模塊進(jìn)行地毯式單元測(cè)試,當(dāng)看到那一遍測(cè)試通過的綠色,才能夠安心地回家睡覺。

第五件武器:調(diào)試信息;

我相信,我所編寫的所有程序,都不可能一次成功,即便再認(rèn)真地調(diào)試檢查,再多地廠內(nèi)工作,在現(xiàn)場(chǎng)還是免不了會(huì)出問題。因?yàn)椋豢赡茉诩依锬M現(xiàn)場(chǎng)所有的情況,也不能夠?qū)Ω鞣N異常情況進(jìn)行完整地猜測(cè)。因此,在我所編寫的很多程序中,特別是與監(jiān)控有關(guān)的、需要長(zhǎng)期、連續(xù)運(yùn)行的程序,都會(huì)加上盡可能多的調(diào)試信息。

在程序中加上調(diào)試信息,是我最后的稻草,有了它,我終于敢將產(chǎn)品戰(zhàn)戰(zhàn)兢兢地交給客戶。

那么,調(diào)試信息應(yīng)該記錄哪些內(nèi)容?我想說的是,調(diào)試信息應(yīng)該能夠記錄現(xiàn)場(chǎng)所有的信息,包括:

程序的啟停狀態(tài);
調(diào)用它人程序的邊界參數(shù);
被它人調(diào)用的程序的邊界參數(shù);
與外部環(huán)境的邊界,包括操作系統(tǒng)、文件系統(tǒng)、硬件、數(shù)據(jù)庫等;
與網(wǎng)絡(luò)交互的兩端邊界;
重要模塊的被調(diào)用參數(shù);
模塊內(nèi)的重要過程的當(dāng)前參數(shù);

有了這些調(diào)試信息,我便可以不出差了,當(dāng)現(xiàn)場(chǎng)發(fā)生了事情時(shí),我的第一反應(yīng)便是要求查看這些調(diào)試信息。

今天一位朋友問我,你如何保證你的程序能夠穩(wěn)定,我告訴他:我有五件武器。

寶刀配英雄,現(xiàn)在我已很少編寫程序了,這些武器,就送給戰(zhàn)斗在第一線的程序員吧,也許你們現(xiàn)在不覺得它們有多重要,但總有一天,你們會(huì)自覺地將它們帶在身邊的。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
單元測(cè)試主要內(nèi)容
單元測(cè)試的任務(wù)
詳細(xì)講解單元測(cè)試的內(nèi)容
單元測(cè)試與集成測(cè)試
軟件測(cè)試基本常識(shí)
極限編程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服