SonarQube не отмечает запах кода, идентичный тому, который он имеетJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 SonarQube не отмечает запах кода, идентичный тому, который он имеет

Сообщение Anonymous »


Мы тестируем введение некоторых правил SonarQube в нашу кодовую базу, которые связаны с пометкой открытий соединений, которые не закрыты в блоках catch или finally и пропущены. возможности использования try-with-resources. Правила отмечают следующий блок кода:

final Connection Connection = jThalesDs.getConnection(); окончательный ReadedStatement pstmt = Connection.prepareStatement(String.format(GET_SERVER_IDS_AND_TEST_LOGINS, dbSchemaProps.getOracleJThales())); пытаться { // Некоторые вызовы, которые могут или не могут что-то выдать } catch(Throwable exc){ // Закрываем ресурсы и повторно выбрасываем исключение пстмт.закрыть(); соединение.закрыть(); бросить отл; } // Упс, забыл добавить блокfinally, в котором мы закрываем соединения. Что можно проверить по этому снимку экрана:


Изображение


Однако в том же файле более серьезное нарушение того же правила не помечается как ошибка или запах кода, и вместо этого SonarQube фокусируется на универсальности создаваемого класса (RuntimeException ):

final Connection conn = jThalesDs.getConnection(); пытаться { testLoginsPerServerId = healthCheckService.getTestLoginsPerServerId(conn); } catch (Throwable ex) { // Упс, забыл закрыть соединение, если оно не равно нулю! выдать новое RuntimeException (TEST_LOGINS_DB_ERROR, ex); }
Изображение


Итак, подведем итоги. В том же файле у меня есть ошибка и запах кода, который является обнаруженным SonarQube, и это касается того факта, что я не закрываю ресурсы в блоке finally. Однако при еще более серьезном нарушении тех же правил в том же файле эти правила не срабатывают.

Что здесь может происходить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»