当前位置:编程学习 > JAVA >>

想问问大家一个写代码的习惯问题

class A
{
private 类型1 参数一
private 类型2 参数二
private 类型3 参数三


这时候一个应用场所,需要调用这个类
我们知道  
在实例化后的应用过程中  可能 参数三变成了null 
而这是 你恰恰做了   参数三.somefunc()  这时候不做捕获系统就是崩溃

我想问 大家是否是每次在调用某个参数时 是不是都会去检查 这个对象是不是为空

一般的函数 输入是否会 去写一个函数 做专门的检查 



应用 对象 实例 类 class --------------------编程问答-------------------- 可以读读有关防御性编程方面的知识
建议对参数进行合法性检查 --------------------编程问答-------------------- 基本上是要进行一定的检查的 因为会涉及到NullPointException或者IllegalArgumentException等等

专门再写一个方法,验证参数合法性。 --------------------编程问答-------------------- 这个肯定是要进行合法性检查的 --------------------编程问答-------------------- 再有可能为空的变量,使用之前要检查 --------------------编程问答-------------------- 要对输入的参数进行合法性验证,要不 程序太不健全了。 --------------------编程问答-------------------- 楼上正解,至于你的方法之外,参数三变成了null,跟你也没关系,你只负责写class A --------------------编程问答-------------------- 你都private了,谁能去访问参数三?

如果你觉得 出现你说的可能性很大,你就在调用前做个判断吧。 不过一般是不会出现这种情况的 --------------------编程问答-------------------- 除了防御性编程,另外还有两点建议:
一、尽量不用原始类型,而用自己实现的类。
二、对于自己实现的类型,专门实现一个Null子类,其中的方法为数据为Null时的默认操作。
三、尽可能的在类中初始化,不能初始化,就将其设为(二)中的Null对象。 --------------------编程问答-------------------- 对不起,数学没学好是三条建议,见笑了。 --------------------编程问答-------------------- 先写测试,后编码,一般都能检测参数传递问题吧
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,