编写更具可读性的函数代码

上个月,我以一种特殊的方式开始编写函数,这使我作为程序员的生活变得不止一次。无论您输入多少注释或冗长的参数名称,最终都可能导致编写代码而使您迷路。原因很简单。可以说您有一个带有两个参数的函数。

function myFunction($intNum1, $intNum2){
 // 函数做某事
}

通常的做法是在继续其余功能之前,检查参数以确保它们与您期望的一样。假设我们只希望数字在一定范围内。如果它们不在该范围内,则函数应返回false。许多程序员可能开始写这样的东西。

function myFunction($intNum1,$intNum2){
 if($intNum1 > 0 && $intNum1 < 1000){
  if($intNum2 > 0 && $intNum2 < 1000){
   // 用数字做些事。
   return $value;
  }else{
   return false;
  }
 }else{
  return false;
 }
}

该代码仍将产生所需的检查效果,以查看数字是否在一个范围内,但是有一种更简单,更优雅的方法。例如,如果要添加第三个参数或第四个参数,该怎么办?嵌套if语句已经足够困难了,但是当您进入四个级别时,事情会变得有些愚蠢。

这是相同的代码,但是以允许更好的可读性和维护性的方式进行了重构。请注意,if语句逻辑已反转。

function myFunction($intNum1,$intNum2){
 // 检查参数1
 if($intNum1 < 0 && $intNum1 > 1000){
  return false;
 }
 // 检查参数2
 if($intNum2 < 0 && $intNum2 > 1000){
  return false;
 }
 // 用数字做些事。
 return $value;
}

这样,我们就可以通过所有逻辑检查,然后再进行我们希望函数执行的操作,并且可读性强。同样,如果您想添加另一个参数,则只需添加另一个if语句来检查该参数。如果没有杂乱的嵌套语句或复杂的语法。

上面的函数也没有考虑到参数可能不是数字这一事实,可以在函数顶部添加其他检查来解决这个问题。

我之所以将其发布在一般类别中,是因为自从我开始使用PHP以来,我已经至少以3种不同的语言使用了此技术。这里编写的所有代码都是使用通用的PHP(如语法),但是这个想法是正确的。希望您也能从中得到一些帮助。