关于java:我应该将if(变量< 10)放在自己的方法中吗?

Should I put if(variable < 10) in own method?

我在一个循环中有一个检查,在这个循环中我必须检查发生的次数是否小于10次,这可以写成

1
2
3
 if(occ < 10){

 }

1
2
3
4
5
6
 if(checkIfOccurencyIsLessThan10(occ)){
         values.add(current+"0"+occ);
    }
     else{
          values.add(current+occ);
    }

我正在读一本关于敏捷软件技术的清洁代码手册,他们说一个方法应该做的最少,代码应该被分解成更多的部分。这里有必要吗?我试图更好地了解一个方法应该有多长时间,应该做多少。


这取决于此条件是否分布在多段代码中,以及此检查将来是否可以更改为包括检查其他边缘情况。如果这两种情况都是真的或者可能是真的,那么当然,将检查提取到它自己的函数是明智的。但是,我肯定会说,您应该重命名函数以不指定函数实现,因为这样会破坏能够更改条件的目的,对吗?将它命名为类似于occurenceNeedsZero的名称是一个更灵活的解决方案。因为如果您想出其他需要检查的用例,您也可以将它们添加到这个函数中!

但是,如果你的问题是"我应该经常在它的函数中做一个简单的条件检查,比如"is x<10",那么我会说"不",在我看来这太工程化了。函数应用于1)分离代码的逻辑部分,2)提高可读性,或3)提取分散在多个位置且将来可能发生更改的小块代码,因为这样可以简化将来的重构。

可能比这3个病例更多,但那些是大病例。


最好使用静态最终变量来存储这个10,而不是硬代码。

如果还有其他地方需要检查occ < 10是否存在,则需要将其提取为一种方法。否则就不必要了。