注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

技术行者

时代的车轮在按照摩尔定律滚动。

 
 
 

日志

 
 

程序中参数的检查  

2010-09-02 14:45:00|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

程序中参数的检查

写程序的时候,我们经常要写参数检查,就是在处理这个参数前对参数进行一个合法性或者合理性的检查。

一般的情况下,大部分的人写这个程序,习惯上就是在函数体里面写一次。例如:

void test(int num){

     If(num不合法){

           Return false;

     }

     Action~~

}

这种在函数体里面做一次检查的,确实非常常见和有用。只是这样写的话,程序就可以很安全和稳定啦?

当然,这样还是不够的,所以,为了使得程序更加稳固。我们还可以这样写。

void test(int num){

     If(num不合法){

           Return false;

     }

     Try{

        Action~~

     }catch(){

       

     }   

}

这样写的话,数值得到了检查得到了检查,而执行的过程也得到了保证。只是再问一句,这样就安全了吗?其实还没有,我们检查了参数,检查了执行过程,错误还可以发生在调用这个程序的时候。

例如

This.test(非法或者特殊类型num);

这样的话,一样在调用这个函数的时候引发新的错误。

所以,在调用这个函数之前,也应该对参数再做一次不同于内部检查的方式(相同也无妨,主要是为了要覆盖到各种情况的检查)。于是有

检查num;

This.test(num);

这样的话,在一个常规的功能里,我们嵌入了3重检查,相对而言,程序在参数方面的稳定性就得到比较好的保障。

当然,我知道也有不少的技术人员表示反对,因为多重检查的方式严重阻碍了程序本身的执行的效率。所以,这种做法,必须找到一个效率和稳定的平衡点。我个人在做小软件的时候,在注重实现功能不追求效率的情况下,喜欢用这种方式来写,所以软件一般很少出现崩溃的现象。

  评论这张
 
阅读(2684)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017