• <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 王海光 閱讀(632) 評論(0)  編輯 收藏 引用 所屬分類: 其他
            久久九九久精品国产免费直播| 久久亚洲日韩看片无码| 国产人久久人人人人爽 | www.久久热.com| 99久久国产综合精品网成人影院 | 欧洲精品久久久av无码电影| 久久综合综合久久综合| 国内精品久久久久久野外| 久久天天躁狠狠躁夜夜不卡| 久久久国产打桩机| a级成人毛片久久| 久久亚洲精品国产亚洲老地址| 日韩人妻无码精品久久免费一| 国产99久久久久久免费看 | 亚洲av日韩精品久久久久久a| 狠色狠色狠狠色综合久久| 色诱久久av| 久久久久四虎国产精品| 区久久AAA片69亚洲| 国内精品久久久久久久coent| 久久国产免费直播| 久久精品国产一区二区三区不卡 | 欧美日韩精品久久免费| 久久91亚洲人成电影网站| 亚洲精品乱码久久久久66| 久久人人爽人人爽人人片AV麻豆| 久久精品无码一区二区无码 | 亚洲七七久久精品中文国产| 国产日产久久高清欧美一区| 久久久国产打桩机| 亚洲欧美成人久久综合中文网 | 久久久久人妻一区精品色| 欧美久久一区二区三区| 香蕉久久夜色精品国产小说| 久久久久亚洲av无码专区| 亚洲va中文字幕无码久久| 欧美性大战久久久久久| 久久久久香蕉视频| 久久强奷乱码老熟女网站| 久久影院午夜理论片无码| 国产—久久香蕉国产线看观看|