• <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>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0
            本文轉自:http://www.shnenglu.com/humanchao/archive/2008/08/19/59309.html

            我們先看一個函數:函數的功能完成1~10的加法。

            int Add1to10(int a, int b)
            {
               
            return a +b;
            }

            但是一般我們還需要加上幾條代碼:

            int Add1to10(int a, int b)
            {
                assert(a 
            >= 1 && a <= 10);
                assert(b 
            >= 1 && b < =10);

                
            if ( a < 1 || a > 10 || b < 1 || b > 10)
                    
            return -1;

                
            return a +b;
            }

            加上上面幾條代碼的作用是檢查函數的輸入參數,當參數不正確的時候不光要在返回值上得到體現,而且會觸發assert斷言,提醒我們參數有誤。

            斷言式編程體現一個編程的思想,在我們的程序執行偏離預想的路線時給出提醒。當程序執行偏離預想的路線時一般會出現兩種可能:即斷言以上的程序沒有理解下面程序的調用條件、或斷言以下的程序需要接受更為寬泛輸入條件。以下分別討論修改方法:

            1、如果函數的輸入參數是我們編程的一個疏漏,我們認為根本就不應該出現或產生這樣的值,那我們應該修改調用函數處的代碼,避免非預想的值出現。

            2、如果無法避免出現或者產生一個非法輸入值,那我們要么在函數調用處加入判斷,產生符合條件的值時調用函數,不符合參數條件else處理;要么修改函數,使函數可以接受更為寬泛輸入條件,并調整斷言內容和參數判斷邏輯。

            斷言不僅可以出現在函數的參數檢查的場合,也可以出現在其他的上下文調用的場合。而且它還會隨著程序的開發進程逐漸的增加、刪除和調整。它可以驗證程序是按照我們預想的思路在執行,當出現意外時及時的給出提醒,提醒我們修正程序或者自己的思路。
            posted on 2012-04-12 12:58 王海光 閱讀(646) 評論(0)  編輯 收藏 引用 所屬分類: 其他
            精品免费久久久久国产一区| 香蕉久久夜色精品国产小说| 一本久久综合亚洲鲁鲁五月天| 久久中文字幕人妻丝袜| 中文字幕乱码久久午夜| 狠狠色丁香婷综合久久| 久久精品无码免费不卡| 久久久久99精品成人片欧美| 狠狠色伊人久久精品综合网| 亚洲中文久久精品无码| 久久国产成人| 久久久久女人精品毛片| 一级做a爰片久久毛片免费陪| 狠狠久久亚洲欧美专区| 婷婷久久香蕉五月综合加勒比| 久久久久亚洲?V成人无码| 精品久久久久久| 久久亚洲精品无码AV红樱桃| 久久久久久久91精品免费观看| 国产精品va久久久久久久| 99久久精品午夜一区二区| 久久WWW免费人成一看片| 中文国产成人精品久久亚洲精品AⅤ无码精品| 久久免费的精品国产V∧| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久国产精品国产自线拍免费| 久久精品一本到99热免费| 欧美久久亚洲精品| 久久国产影院| 欧美一级久久久久久久大片| 国产成人久久精品麻豆一区| 中文字幕久久欲求不满| 青青青国产成人久久111网站| 久久99亚洲网美利坚合众国| 久久久久亚洲av无码专区| 久久99国内精品自在现线| 九九久久99综合一区二区| 99久久99久久精品国产片果冻| 国产福利电影一区二区三区,免费久久久久久久精 | 999久久久国产精品| 精品国产乱码久久久久久浪潮|