日期:2014-05-18  浏览次数:20958 次

对每一个方法(包括私有方法)进行入口参数检查是否有必要?
对每一个方法(包括私有方法)进行入口参数检查是否有必要?
private void processImage(Bitmap image ,BtimapData data,otherData otherData)
{
  if (image == null)
  throw new ArgumentNullException("Bitmap的值不能为空。Function:processImage");
  if (data== null)
  throw new ArgumentNullException("BtimapData 的值不能为空Function:processImage");
  if (otherData== null)
  throw new ArgumentNullException("otherData 的值不能为空.Function:processImage");
........
........
....真正的处理逻辑
........
}


有的同事说没必要,而我认为很有必要,因为即使是私有方法,也难免在以后系统维护的过程中需要在这个类中增加调用点。
那个时候你不能保证那个程序员按照你的设计意图调用这个私有方法

------解决方案--------------------

有必要,因为这个方法虽然是私有的,但是在合作开发时,不一定是你自己用。
这个要推广,确保每个方法都是独立健壮的。
------解决方案--------------------
有必要。
------解决方案--------------------
有必要,此事件证明你应该比你那同事多拿钱,呵呵,你那同事不像是再做产品啊...
------解决方案--------------------
内部底层函数用断言更好
------解决方案--------------------

PUBLIC的需要 私有的感觉不用吧 就你自己用,需要判断么? 个人习惯 。