[英]java checkstyle rule for non-static variable access to static variables
是否有Checkstyle規則可用於限制對靜態變量和方法的非靜態訪問?
這應該發出警告:
instance.staticField = value;
Eclipse為此設置了一個選項,但是我想在構建中強制執行它。
我想您正在尋找使用javac -Xlint:static -Werror toto.java
。
從文檔 :
-Xlint:name
:啟用警告名稱。 有關可以使用此選項啟用的警告的列表,請參見使用-Xlint選項可以啟用或禁用的警告部分。
-Werror
:如果發生警告,則終止編譯。
我嘗試了這個例子:
public class StaticTest {
public static String toto = "toto";
public static void main(String s[]) {
StaticTest st = new StaticTest();
st.toto="dfd";
}
}
輸出為:
StaticTest.java:16:警告:[static]靜態變量應按類型名稱限定,
StaticTest,而不是表達式
st.toto="dfd"; ^
錯誤:找到警告並指定了-Werror 1錯誤1警告
顧名思義,Checkstyle僅檢查代碼的形式。 如果您搜索錯誤模式,則應查看Findbugs:
不,Checkstyle的所有檢查都具有局限性/范圍-它僅檢查一個文件的結構,無法獲取其他類/文件的結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.