程式開發質量檢查(六)
来源:互联网 发布:mac 下安装ant 编辑:程序博客网 时间:2024/04/30 11:49
在一段PB源碼中,有看到一個檢查日期的窗口函數如下:
publicfunction integerwf_chk_due_day(string as_due_day);
//檢察傳入的票期是否合法返回0表示檢察通過,返回1表示票期的後兩碼不合法
//票期供4碼,前兩碼為月份數,後兩碼為某一天(必須為1-31之前的某個數字)
INT li_day
SELECTTO_NUMBER(SUBSTR(LPAD(TRIM(:as_due_day),4,'0'),3))
INTO :li_day
FROMdual;
IFli_day > 31 OR li_day < 1THEN
Return1
END IF
Return0
end function
對於此函數定義及功能內容,我作如下意見說明:
1.此函數只是判斷一個數據是否合法,不必要使用SQL語法(你們只喜歡Oralce?不喜歡PB?).
2.雖然目前的代碼已經比較簡單了,但我們還是可以精益求精.
3.為了增強程式的可讀性,不建議使用多重函數嵌套(紅色部分).
4.如果返回值只有兩類,建立使用布爾值類型(為什麼呢?請看我調整后的語法.)
5.我簡單修改后的另一個思維方法,請大家參考.(這個還沒有經過壓力測試,如有錯誤,請扔雞蛋,不要拍磚.)
publicfunction Booleanwf_chk_due_day(string as_due_day);
//返回值為True,則表示檢查通過.
//返回值為False,則表示后兩碼不合法.
INT li_day
as_due_day= right(rtrim(as_due_day),2) //在PB中參數變量是可以繼續賦值的.
li_day= integer(as_due_day)
Returnmax(li_day,1)=min(li_day,31)
endfunction
6.原來的語法其實就是取這個字串的后兩碼,所以我改為了使用pb的right函數.
7.修改后的精華就是在return語法,這也是為什麼要將函數的返回值改為布爾值的原因.
- 程式開發質量檢查(六)
- 程式開發質量檢查(一)
- 程式開發質量檢查(二)
- 程式開發質量檢查(三)
- 程式開發質量檢查(四)
- 程式開發質量檢查(五)
- 程式開發質量檢查(七)
- 程式開發質量檢查(八)
- 程式開發質量檢查(九)
- 程式開發質量檢查(十)
- 程式開發質量檢查(十一)
- 程式開發質量檢查(十二)
- Windows程式开发设计指南(六) 键盘
- 追求神乎其技的程式设计之道(六)
- Android 程式开发:(六)详解屏幕组件 —— 6.7ScrollView
- 单车程式
- JSF程式
- 程式管理
- C# lock关键字 互斥
- C#事件解析
- Sql Server 2005 宝典 Sql Server 2005 Bible
- 用js自适应iframe的大小
- 通过CGI获取正文问题
- 程式開發質量檢查(六)
- asp asp.net 防止多次提交数据
- SIP Servlet入门教程及例子
- 学习路途知多少
- http://acm.pku.edu.cn/JudgeOnline/problem?id=3468 成段更新,区间求和(要用long long)
- C#编程让Outlook乖乖交出帐户密码
- asp$$asp.net 防止多次提交数据
- apt-get软件包管理 (转)
- lookup transformation