2017-09-25 243 views
-3

我在java類中有一個方法。java靜態變量的命名約定

public void myMethod() { 
     final String methodName = "myMethod"; 
} 

當我通過聲納的分析運行這段代碼,我得到的一個問題說

重命名這個常量名相匹配的正則表達式 「^ [AZ] [A-Z0- 9] (_ [A-Z0-9] +) $」

我這個變量的目的是用它記錄儀語句來跟蹤我的申請流程。

這個變量不是一個靜態變量。我已經通過https://softwareengineering.stackexchange.com/questions/252243/naming-convention-final-fields-not-static。但我沒有清晰的圖片。誰能幫我給適當的命名約定我最後的(而不是靜態)可變

+0

見https://softwareengineering.stackexchange.com/questions/252243/naming-convention-final-fields -not-static –

+0

一個字符串是不可變的。用「raw」值定義最終變量String就像定義一個常量。聲納將其分析爲常量,然後要求您匹配常量的命名約定。 您應該通過將此局部變量更改爲常量來改進您的代碼,然後使用正確的命名約定。 聲納應該對此感到滿意。 – Genu

回答

0

在java中最後一個變量名稱通常宣佈全部大寫與

final String METHOD_NAME = "myMethod"; 
+0

java中的最終變量必須與正則表達式'^ [a-z] [a-zA-Z0-9] * $'匹配。 –

1

你說的是一個局部變量,作用於你的方法。 局部變量遵循大多數Java字段的命名約定,即camelBack

只有編譯時常量(在類級別聲明的static final字段)「需要」被大寫,單詞之間用下劃線分隔。

一些文檔頁面:

+0

字段在類或實例級別上。不在方法級 - 在這裏它們是局部變量。 – tbsalling

+0

@tbsalling錯字,修正 - 謝謝。 – Mena