我没有找到适合我的问题的解决方案。据我所知,返回null不是编写清晰代码的好方法,正如书籍Clean Code所说。然而,对于这种做法有很多不同的意见,我不确定哪一个适用于我的函数。
private EArea getSimilarExistingArea(EImportArea importedArea) {
for (EArea existingArea : exsitingAreas) {
EList<EPoint> importedAreaPoints = importedArea.getPoly().getPoints();
EList<EPoint> existingAreaPoints = existingArea.getPoly().getPoints();
for (EPoint importedAreaPoint : importedAreaPoints) {
for (EPoint existingAreaPoint : existingAreaPoints) {
if (importedAreaPoint.equals(existingAreaPoint))
return existingArea;
}
}
}
return null;
}
如果没有现有的相似区域,我应该返回什么?
附注:为了优化我的代码,如果找到现有区域,我将使用 return 中断循环。