2016-03-23 2 views
1
private String producer_queueName = "cn"; 

Name 'consumer_queueName' must match pattern '^[a-z][a-zA-Z0-9]*$'.Sonar Жалуется на объявление переменной ... Может использоваться «_»?

Что случилось с использованием _? Не позволяет ли Java использовать _ для любой переменной?

Я хочу использовать _. Как я могу избавиться от этой ошибки:

must match pattern '^[a-z][a-zA-Z0-9]*$'. 
+2

Сначала вы указали нам переменную 'manufacturer_queueName' и сообщение о' consumer_queueName'. В любом случае нецелесообразно использовать '_' в ваших идентификаторах, но это противоречит обычной практике и стандартам. Java использует 'camelCase'. – stjepano

ответ

6

Это просто предупреждение от Sonar говорить вам, что вы не в соответствии со стандартами Java. В Java стандартно использовать camelCase для частных переменных. _ следует использовать только для статических конечных переменных.

Например:

//Conforming private variable with camelCase 
private String producerQueueName = "cn"; 

//Conforming private static final variable with "_" 
private static final String PRODUCER_QUEUE_NAME = "cn"; 

Sonar не говорит вам, что вы не может делать то, что вы делаете, так что вы не соответствующие стандартам. Это может затруднить чтение кода другим пользователям.

См. here для получения более подробной информации о соглашениях об именах java.

Если вы хотите отключить правило в Sonar, вам необходимо отключить правило в профиле качества, который вы используете. См. here для документации о том, как это сделать.

1

Сонарные сообщения не являются ошибками.

Основные правила - это лучшие практики, но не все согласны со всеми из них. Каждая команда должна обсудить, какие правила важны и которые следует деактивировать.

Для этого конкретного правила, я думаю, что большинство программистов на Java подумают, что это важно, потому что (как уже упоминалось в стэпано) это часть соглашений об именах Java (например, случай верблюда с нижним регистром первой буквы для имен переменных, случай верблюда с первой буквой, заглавной для имен классов и т. д.). Это значительно облегчает чтение чужого кода.

Смежные вопросы