• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            O(1) 的小樂

            Job Hunting

            公告

            記錄我的生活和工作。。。
            <2012年11月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            統(tǒng)計(jì)

            • 隨筆 - 182
            • 文章 - 1
            • 評(píng)論 - 41
            • 引用 - 0

            留言簿(10)

            隨筆分類(70)

            隨筆檔案(182)

            文章檔案(1)

            如影隨形

            搜索

            •  

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Writing Solid Code Steve Marguire

              這是這個(gè)這本書的最后一篇讀書筆記,可能比較多又看完一本。。書不在多,從中找到軟件開發(fā)的一些方法以及經(jīng)驗(yàn)。這本書中大量充斥著C code。。。指針級(jí)別的錯(cuò)誤。。很多細(xì)節(jié)沒有仔細(xì)去考量。

             

            1 不要利用靜態(tài)量存儲(chǔ)區(qū)傳遞數(shù)據(jù)。

            2 通常意義上,錯(cuò)誤消失有三種原因:一是錯(cuò)誤報(bào)告不對(duì);而是錯(cuò)誤已被別的程序員修改了;三是這個(gè)錯(cuò)誤依然存在但沒有表現(xiàn)出來。也就是說,作為一個(gè)專業(yè)程序員,其職責(zé)之一就是要確定錯(cuò)誤的消失究竟屬于以上三種情況中的哪一種,從而才去相應(yīng)的行動(dòng),但是決不能因?yàn)殄e(cuò)誤不出現(xiàn)就簡(jiǎn)單地忽略了它。

               錯(cuò)誤消失通常是程序員和測(cè)試人員使用了不同的版本。如果在程序員使用的代碼中錯(cuò)誤沒有出現(xiàn),就采用測(cè)試員使用的程序版本,如果錯(cuò)誤仍為出現(xiàn),就可通知測(cè)試組。

            但是,如果錯(cuò)誤確實(shí)出現(xiàn)了,就要追蹤到它早些的源程序版本中,并決定如何修改它,然后再查看一下為什么在當(dāng)前的源程序版本中不見了。通常錯(cuò)誤仍然存在,只是環(huán)境有了更改從而掩蓋了錯(cuò)誤。無(wú)論什么原因,為了采取適宜的步驟來改正錯(cuò)誤。,必須弄明白為什么錯(cuò)誤消失了。

             

            3 注意聽取程序員向你提出的建議,如:你可以試一試。。。。等,你就會(huì)發(fā)現(xiàn)大多數(shù)建議利用了未定義或者病態(tài)定義的副作用。如果程序員提建議時(shí)知道怎么求解,他們就不會(huì)說試一試。

              在找到正確的解法之前,不要一味的試一試,要花時(shí)間尋找正確的解。

            4  測(cè)試代碼的責(zé)任不在測(cè)試員身上,而是程序員自己的責(zé)任。

              程序員測(cè)試代碼,是由里向外測(cè)試,而測(cè)試員則是由外向里測(cè)試。

              例如,程序員測(cè)試代碼時(shí),總是由測(cè)試每個(gè)函數(shù)開始,逐次逐條指令地通過各條代碼路徑,驗(yàn)證代碼和數(shù)據(jù)流,逐步向外移動(dòng)來證實(shí)函數(shù)能夠在子系統(tǒng)中與其他函數(shù)一道正常操作,最后程序員利用單元測(cè)試來驗(yàn)證各個(gè)獨(dú)立子系統(tǒng)之間能夠正確地相互配合。通過單元測(cè)試,還能檢測(cè)到內(nèi)部數(shù)據(jù)結(jié)構(gòu)的狀態(tài)。

             

            5 另一方面,測(cè)試員卻把代碼看做是一個(gè)黑盒子,從程序的各個(gè)輸入處進(jìn)行測(cè)試以尋找錯(cuò)誤,測(cè)試員也可能利用回歸測(cè)試來證實(shí)所有的錯(cuò)誤都已派出。然后,測(cè)試員逐步向里推進(jìn),利用代碼覆蓋工具,來檢查在全局測(cè)試中執(zhí)行了多少內(nèi)部代碼,隨之獲得的信息產(chǎn)生新的測(cè)試,來執(zhí)行未接觸到的代碼。

              這是兩種不同的測(cè)試程序的方法。之所以這樣,因?yàn)槌绦騿T強(qiáng)調(diào)的是代碼而測(cè)試人員強(qiáng)調(diào)的是特征,兩者從不同的方位考慮問題,這就增加了發(fā)現(xiàn)未知錯(cuò)誤的機(jī)會(huì)。

             

            6 每當(dāng)看到程序員向測(cè)試人員發(fā)火時(shí),我總是把他們拉到一旁并問他們:你們?yōu)槭裁匆獪y(cè)試人員為程序員所犯的錯(cuò)誤負(fù)責(zé)呢?和測(cè)試員發(fā)火毫無(wú)道理,他們僅僅是執(zhí)行者。

               每當(dāng)測(cè)試員向你報(bào)告你的代碼中有某個(gè)錯(cuò)誤時(shí),你最先的反應(yīng)是震驚和不相信,你本來就沒想到測(cè)試員會(huì)在你的代碼中發(fā)現(xiàn)錯(cuò)誤;你的第二個(gè)反應(yīng)是應(yīng)該感謝,因?yàn)闇y(cè)試員幫助你避免交付錯(cuò)誤。

             

               不要責(zé)怪測(cè)試員發(fā)現(xiàn)了你的錯(cuò)誤。

             

            有時(shí)你會(huì)聽到程序員抱怨某個(gè)錯(cuò)誤太荒謬,或者抱怨某個(gè)測(cè)試員經(jīng)常報(bào)告一些愚蠢的錯(cuò)誤。如果你聽到這樣的抱怨時(shí),制止并提醒他,測(cè)試員并不判斷錯(cuò)誤的嚴(yán)重性,也不說這些錯(cuò)誤是否值得派出。測(cè)試員必須報(bào)告所有的錯(cuò)誤,不管是愚蠢還是不愚蠢的,盡管測(cè)試員知道,有些愚蠢的錯(cuò)誤可能是某個(gè)嚴(yán)重問題的副作用。

               但是真正的問題是,程序員在測(cè)試這個(gè)代碼時(shí),為什么沒有捕獲這個(gè)錯(cuò)誤呢?即使這些錯(cuò)誤很輕微并且不值得派出,但找出錯(cuò)誤的根源也是非常重要的,以避免將來出現(xiàn)類似的錯(cuò)誤。

               一個(gè)錯(cuò)誤可能很輕微,但是它的存在本身就很嚴(yán)重。

            posted on 2010-09-05 15:13 Sosi 閱讀(239) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            統(tǒng)計(jì)系統(tǒng)
            亚洲国产成人久久综合区| 99久久久国产精品免费无卡顿 | 99久久国产热无码精品免费| 亚洲精品NV久久久久久久久久| 国产精品99久久久久久董美香| 欧美激情精品久久久久| 丰满少妇人妻久久久久久| 奇米影视7777久久精品| 99久久精品午夜一区二区| 欧美久久综合性欧美| 国内精品免费久久影院| 亚洲国产高清精品线久久 | 日韩亚洲欧美久久久www综合网| 久久九九青青国产精品| 午夜不卡888久久| 久久久久人妻一区精品果冻| 久久无码一区二区三区少妇| 久久免费视频1| 男女久久久国产一区二区三区| 久久人人爽人人爽人人片av高请| 99精品国产在热久久| 九九久久精品无码专区| 香蕉aa三级久久毛片| 久久精品国产99久久久| 国产精品无码久久久久| 18岁日韩内射颜射午夜久久成人 | 亚洲国产精品高清久久久| 99精品久久精品一区二区| 久久99亚洲综合精品首页| 伊人久久大香线蕉AV色婷婷色| 69SEX久久精品国产麻豆| 久久精品成人欧美大片| 伊人久久大香线蕉综合影院首页| 青青青国产成人久久111网站| 人妻精品久久久久中文字幕| 精品国产一区二区三区久久久狼| 久久天天躁狠狠躁夜夜av浪潮| 色欲综合久久中文字幕网| 久久精品亚洲男人的天堂| 久久久精品人妻一区二区三区四| 99久久精品免费|