声纳抱怨变量声明..我们不能使用“_”吗?
Sonar Complains about variable declaration..Cant we use "_"?
private String producer_queueName = "cn";
Name 'consumer_queueName' must match pattern '^[a-z][a-zA-Z0-9]*$'.
使用 _
有什么问题?
Java 是否不允许您对任何变量使用 _
?
我想使用 _
。我怎样才能摆脱这个错误:
must match pattern '^[a-z][a-zA-Z0-9]*$'.
这只是 Sonar 发出的警告,告诉您您不符合 java 标准。在 Java 中,私有变量使用驼峰式命名是标准的。 _ 应该只用于静态最终变量。
例如:
//Conforming private variable with camelCase
private String producerQueueName = "cn";
//Conforming private static final variable with "_"
private static final String PRODUCER_QUEUE_NAME = "cn";
Sonar 并不是在告诉您您不能 做您正在做的事情,只是说您不符合标准。这可能会使其他人更难阅读您的代码。
有关 java 命名约定的更多详细信息,请参阅 here。
如果您希望在 Sonar 中禁用该规则,则需要在您使用的质量配置文件中禁用该规则。有关如何执行此操作的文档,请参阅 here。
声纳信息不是错误。
基本规则是一种最佳实践,但并非所有人都同意所有这些规则。每个团队都应该讨论哪些规则很重要,哪些应该停用。
对于这个特定的规则,我认为大多数 Java 程序员会认为这是一个重要的规则,因为(正如 stjepano 已经提到的)这是 Java 命名约定的一部分(例如驼峰式大小写变量名的首字母小写,class 名称首字母大写的驼峰式大小写等)。这使得阅读别人的代码变得更加容易。
enter image description here
如果你有这种类型的错误^[a-z][a-zA-Z0-9]*$
你应该做的是重命名你的变量而不用字符作为例子 _
对于这种情况,它将是:
private String producerQueueName = "cn";
private String producer_queueName = "cn";
Name 'consumer_queueName' must match pattern '^[a-z][a-zA-Z0-9]*$'.
使用 _
有什么问题?
Java 是否不允许您对任何变量使用 _
?
我想使用 _
。我怎样才能摆脱这个错误:
must match pattern '^[a-z][a-zA-Z0-9]*$'.
这只是 Sonar 发出的警告,告诉您您不符合 java 标准。在 Java 中,私有变量使用驼峰式命名是标准的。 _ 应该只用于静态最终变量。
例如:
//Conforming private variable with camelCase
private String producerQueueName = "cn";
//Conforming private static final variable with "_"
private static final String PRODUCER_QUEUE_NAME = "cn";
Sonar 并不是在告诉您您不能 做您正在做的事情,只是说您不符合标准。这可能会使其他人更难阅读您的代码。
有关 java 命名约定的更多详细信息,请参阅 here。
如果您希望在 Sonar 中禁用该规则,则需要在您使用的质量配置文件中禁用该规则。有关如何执行此操作的文档,请参阅 here。
声纳信息不是错误。
基本规则是一种最佳实践,但并非所有人都同意所有这些规则。每个团队都应该讨论哪些规则很重要,哪些应该停用。
对于这个特定的规则,我认为大多数 Java 程序员会认为这是一个重要的规则,因为(正如 stjepano 已经提到的)这是 Java 命名约定的一部分(例如驼峰式大小写变量名的首字母小写,class 名称首字母大写的驼峰式大小写等)。这使得阅读别人的代码变得更加容易。
enter image description here
如果你有这种类型的错误^[a-z][a-zA-Z0-9]*$
你应该做的是重命名你的变量而不用字符作为例子 _
对于这种情况,它将是:
private String producerQueueName = "cn";