我在循环中有一个检查,其中我必须检查发生的次数是否小于10,可以将其写为
if(occ < 10){
}或
if(checkIfOccurencyIsLessThan10(occ)){
values.add(current+"0"+occ);
}
else{
values.add(current+occ);
}我正在阅读“清洁代码”,这是一本敏捷软件工艺手册,他们说一种方法应该做得最少,代码应该被砍成更多的碎片。这里有这个必要吗?我试图更好地掌握一种方法的长度,以及它应该做的事情。
发布于 2018-05-07 12:50:51
这取决于此条件是否分布在多个代码中,以及此检查是否会在将来更改以包括检查其他边缘情况。如果这两件事都是真的或可能是真的,那么当然,将检查提取到自己的函数是明智的。但是,我肯定地说,您应该重命名函数,而不是指定函数实现,因为这违背了能够更改条件的目的,对吗?将其命名为occurenceNeedsZero是一种更灵活的解决方案。因为如果您想出了其他需要检查的用例,您也可以将它们添加到这个函数中!
然而,如果你的问题是“我应该总是把"is < 10”这样的简单条件检查变成它自己的函数,那么我会说不。在我看来,这将是过度设计的。函数应该用于1)分离代码的逻辑部分,2)增加可读性,或者3)提取分散在多个位置并可能在将来更改的小代码片段,因为它简化了将来的重构。
可能有更多的情况比这3,但这些是大的。
发布于 2018-05-07 12:40:02
最好使用静态的最终变量来存储这个10,而不是硬代码。
如果有其他地方需要检查是否为occ < 10,则需要将其提取为一种方法。否则这是没有必要的。
https://stackoverflow.com/questions/50214431
复制相似问题