我感觉这个if/else语句需要重构,但我不确定该怎么做,或者是否应该让它保持原样...
private String someReportUrl(HttpServletRequest request, HttpServletResponse response) {
String url;
if (isBackToReportsSummary(request)) {
url = SUMMARY_PAGE;
getReportsSummary(request, response);
} else if (isComingFromPageA(request)) {
url = getTabUrl(request, REPORT_URL_FOR_PAGE_A);
}
else {
url = "/standAlone/reportUrl.jsp";
}
return url;
}
基本上,我有一个报告汇总页面,列出了三到四个报告。第一个条件是当用户想要返回到该页面时,第二个条件是当用户选择了这个特定的报告,第三个条件是当用户将此报告作为单独报告选择(不是从汇总页面选择)。
return
语句而非中间变量,但是有些人认为这是不好的做法。除此之外,你的代码没问题。责任链模式可能是一个不错的选择,但在这样一个简单的情况下并不适用。 - Tomasz Nurkiewicz