軟件控制代碼編寫思考

1. 不使用異常提示,這樣只會讓客戶認爲是程序內部出了錯誤,如
    catch(Exception &e)
    {
        ShowMessage("計算利息:" + e.Message);
        return false;
    }

2. 進行字符到數字轉換之前先進行正確性判斷
    if (Ed->Text.Trim() != "" && IsNumber(Ed->Text.Trim() ))
    C語言中沒有數字判斷的函數提供,需要自己編寫,而不是用捕獲轉換異常(str.ToDouble())來判斷輸入數字有效性。VB中可以用IsNumeric(str)判斷是否數字

3. 有些輸入需即時判斷輸入有效性,計算出另外一個顯示項,如果輸入無效,最好不用彈出模式窗體的方法提示,因爲即時判斷一般用到OnEditExit等事件,彈出模式窗體的時候,彈出窗體獲得了焦點,必然調用OnEditExit事件,關掉模式窗體,而此時原窗體上的具有Focus的已經不是原來使用判斷時的控件,個人建議使用子窗體的狀態欄還是其他不具有焦點的提示方式。

4. 提交輸入的時候重新進行輸入檢查,如果有多個OnXXXExit事件,最好先將Focus定位到沒有OnXXXEnter和OnXXXExit的控件中,應同時獲取儘可能所有的錯誤輸入,並分行顯示,而不是發現一個錯誤提示一次。
    if (!IsValidData(strA))
         strErr += “strA”;
    if (!IsValidData(strB))
         strErr +=  “strB”;
    if (strErr != ““)
    {
          ShowMessage(strErr);   //這時候應使用ShowMessage
          return;
    }

5. 注意多個關聯控件,比如在計算外幣折算成人民幣的時候,有三個輸入框,匯率,外幣金額,人民幣金額,三個輸入框中,匯率和外幣金額的改動都需要重新計算人民幣金額,則兩個輸入框都需要加上OnXXXExit的代碼,缺了一個都可能出錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章