也說if-else語句

來源:互聯網
上載者:User

    最近在工作中遇到一些條件判斷的語句, 情景如下:

    1. 使用者輸入的彙總統計方式只能允許兩種情況, MAX(...)和MIN(...)

    2. 輸入解釋模組根據情況把前面的四個字元截取下來然後進行比較匹配 記為strSummaryWay

 

    我看到這段程式這麼處理:

    if ( summaryWay == 'MAX(' )

        按求最大值處理;

    else

        按求最小值處理;

 

    很明顯,這是一個不完備的判斷表達方式. 沒有考慮到輸入的情況可能是MAX和MIN以外的其他情況, 而就想當然的以為不是MAX就是MIN. 修改以後的處理方式應該為: 

    if ( strSummaryWay == 'MAX(' )

        按求最大值處理;

    else if ( strSummaryWay == 'MIN(' )

        按求最小值處理;

    else

        返回錯誤或者拋出異常(根據程式需要);

 

    從這一個簡單的處理方式, 我也警醒自己,

    1. 要對判斷處理做到完備性考慮.

    2. 具體對於if-else條件判斷, 如果不是非此即彼的關係, 把最後一個else用來處理異常的情況.

    3. 一個函數中如果有1%的可能性出錯誤,那要執行10次, 20次類似的都是1%可能性出錯的函數那出現一次錯誤的機率是相當高的!

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.