【发布时间】:2015-10-07 19:06:03
【问题描述】:
我正在尝试减少此方法中 for 循环的数量,但我不知道如何做到这一点,同时仍保持逻辑完整而不转向其他方法。我想这样做是为了减少 McCabe Cycolmatic Complexity,每个循环都会增加 1。所以我想将方法减少 1。
private void method(int page)
{
for (int i = 0; i < LINES_PER_PAGE; i++)
{
nextLine[i] = null;
}
try
{
Scanner temp = new Scanner(fileToPrint);
for (int i = 0; i < page - 1; i++)
{
skipAPage(temp);
}
for (int i = 0; (i < LINES_PER_PAGE) && (temp.hasNext()); i++)
{
nextLine[i] = expandTabs(temp.nextLine());
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
【问题讨论】:
-
没有理由重构此代码,它具有可读性。但我建议始终在任何条件或循环语句之前和之后留出空格,它可能会增加 +2 行,但在眼睛上更容易。
-
为什么不能将部分代码移到其他方法?您至少可以将第一部分提取到一些
clearLines(nextLine, LINES_PER_PAGE)中,这在这种情况下是非常合乎逻辑的。
标签: java loops cyclomatic-complexity