我有一个 DAO 类,它有多个方法。在每个方法中,我使用变量名“result”作为 ResultSet 和“statement”作为 PreparedStatement 和 closeResources() 方法来关闭 PreparedStatement 和连接。我使用了一个 DataManager 类,它具有 createConnection() 方法、getConnection() 方法。我的 DAO 中有 10 个 mwthods。我使用 DAO 工厂方法在 BO 中获取 DAO 对象。这是代码片段,显示为当我在 Eclipse 中运行 CPD 工具时违规。它在我的 DAO 的大约 6 到 8 个方法中显示此代码片段作为违规。
PreparedStatement statement=null;
try{
PreparedStatement statement=connection.prepareStatement(query);
//statements to set data in query
ResultSet result=statement.executeQuery();
if(result.next){
//some operation
}
}
catch(SQLException e){
//encapsulating sql exception....
throw new BusinessException(e);
}
finally{
closeResources(connection,statement);
}
由于 DAO 中的许多方法使用相同的方法,CPD 将上述代码显示为违规,我认为您无法使这段代码更加模块化。我的问题是在许多情况下使用相同的变量名,如“result”方法是否是最佳实践。要清除违规行为,我需要将“结果”重命名为“结果1”、“结果 2”等,但我觉得这些名称没有意义。
注意:我的培训即将结束。我没有在 Springs 或 Struts 上工作,我只知道 Servlets 和 JSP。我正在做一个案例研究,这是我第一次使用 PMD、CPD 工具。