我在一个循环中检查,我必须检查发生次数是否小于10,可以写为
if(occ < 10){
}
或
if(checkIfOccurencyIsLessThan10(occ)){
values.add(current+"0"+occ);
}
else{
values.add(current+occ);
}
我正在阅读清洁代码,这是一本敏捷软件工艺手册,他们说方法应该做的最少,代码应该被编入更多部分。这有必要吗?我正在努力更好地掌握一个方法应该有多长,以及它应该做多少。
答案 0 :(得分:2)
这取决于此条件是否分布在多个代码段中,并且此检查在将来可能会更改以包括检查其他边缘情况。如果这两件事都是真的或可能是真的,那么肯定的是,将支票提取到它自己的功能是明智的。但是,我肯定会说你应该将函数重命名为不指定函数实现,因为这会破坏能够更改条件的目的,对吧?将其命名为occurenceNeedsZero
是一种更灵活的解决方案。因为如果你想出其他需要检查的用例,你也可以将它们添加到这个函数中!
但是,如果您的问题是“我是否应该总是进行简单的条件检查,例如”是x&lt; 10“进入它自己的功能,然后我会说不。在我看来,这将是过度工程。函数应该用于1)代码的逻辑部分,2)增加可读性,或3)提取小块代码分散在多个地点,并可能在未来发生变化,因为它简化了未来的重构。
可能比那些3更多的案例,但那些是大案例。
答案 1 :(得分:1)
最好使用静态最终变量来存储此10
,而不是硬代码。
如果还有其他地方需要检查是否occ < 10
,则需要将其作为方法提取。否则它是不必要的。