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]*$'.
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中,使用camelCase作爲私有變量是標準的。 _只能用於靜態最終變量。
例如:
//Conforming private variable with camelCase
private String producerQueueName = "cn";
//Conforming private static final variable with "_"
private static final String PRODUCER_QUEUE_NAME = "cn";
聲納是不會告訴你,你不能你在做什麼,只是你不符合標準規定。這可能會讓其他人更難閱讀您的代碼。
有關java命名約定的更多詳細信息,請參閱here。
如果您希望在Sonar中禁用該規則,則需要禁用正在使用的質量配置文件中的規則。有關如何執行此操作的文檔,請參閱here。
聲吶信息不是錯誤。
基本規則是一種最佳實踐,但不是所有人都同意。每個團隊都應該討論哪些規則很重要,哪些規則應該停用。對於這個特定的規則,我認爲大多數Java程序員會認爲這是一個很重要的規則,因爲(正如stjepano已經提到的),這是Java命名約定的一部分(例如,第一個字母小寫的變量名,首字母大寫的駱駝案例等)。這使得閱讀別人的代碼變得更容易。
首先你向我們展示了'producer_queueName'變量和一個關於'consumer_queueName'的消息。無論哪種情況,在您的標識符中使用'_'都是非法的,但這違背了慣例和標準。 Java使用'camelCase'。 – stjepano