У меня есть класс DAO с несколькими методами. В каждом методе я использовал имя переменной "result" для ResultSet и "statement" для PreparedStatement и метод closeResources() для закрытия. PreparedStatement и Connection. Я использовал класс DataManager, который имеет метод createConnection(), метод getConnection(). В моем DAO примерно 10 mwthods. Я использую фабричный метод DAO для получения объекта DAO в BO. Это фрагмент кода, который отображается как нарушение, когда я запускал инструмент CPD в eclipse. Он показывает этот фрагмент кода как нарушение примерно в 6-8 методах моего DAO.
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 " во многих методах является лучшей практикой или нет. Чтобы устранить нарушение, мне нужно переименовать "result" в "result1", "result2" и т. д., но мне кажется, что эти имена не имеют смысла.
Примечание. Я заканчиваю свое обучение. Я не работал над Springs или Struts, я знаю только Servlets и JSP. Я делаю тематическое исследование и впервые использую инструменты PMD, CPD.