我有很多类(至少45)。每个类都有自己的方法来验证在所有类中重复的东西,所以我在所有这些类中都重复了代码。我希望有一个方法,并从所有的类调用它。
如果有以下代码知道移动设备是否连接到服务器
private boolean isMobileDevice(HttpServletRequest request) {
String userAgent = request.getHeader("user-agent");
return userAgent.indexOf("Windows CE") != -1;
}
如前所述,此方法在许多类中重复使用
是否有可能在Intellij Idea和/或Eclipse中进行重构?我该如何执行重构?
private boolean isMobileDevice(HttpServletRequest request) {
String userAgent = request.getHeader("user-agent");
return userAgent.indexOf("Windows CE") != -1;
}
我打赌,Eclipse将警告我说,这个方法可以作为static
宣布,因为它不使用任何领域的封闭类——这种方法应该声明为静态的,让你知道这不是本质上需要封闭的类,如果有理由(45方法的一个原因)可以将它转移到其他类,并把它作为公共或包方法。
编辑:它做了:The method isMobileDevice(HttpServletRequest) from the type Test can be declared as static
:
:
将其复制到其他类中,使其为public static boolean isMobileDevice(HttpServletRequest request)
,并在private boolean
所在的每个类中使用。
使用Intellij,您可以尝试"Refactor" > "Find and Replace Code Duplicates..."
。它将用一个静态函数替换重复的代码。