2011-07-31 99 views
7

當編譯器遇到用戶定義的註釋時,是否可以生成警告?類似於@Deprecated註釋的東西?使用用戶定義的註釋生成編譯器警告

感謝

+0

爲什麼它應該是可能的,定製的annota重刑是相當合法的? @Deprecated的警告是內置功能。看看你的IDE是否提供了對自定義靜態代碼分析的內置支持...... – home

+0

@home:我想註釋一些方法,在這些方法中我已經完成了一些編碼,但是評論它導致目前不需要。不想繼續搜索它。瀏覽代碼時應該清晰可見。我正在使用Eclipse Helios。是否可以對其進行代碼分析?我無法找到它。謝謝 –

+1

爲什麼不在評論中使用// TODO標記? Eclipse會將它們全部收集到您的任務列表中。它們也沿編輯器窗口的右邊緣以藍色突出顯示。 (警告以黃色突出顯示。) – jkeeler

回答

3

根據你原來的問題和意見,我想你要做到以下幾點:

  • 標記代碼不完整的(用編譯器警告),所以其他開發商不使用還沒完成。
  • 在稍後的時間點識別IDE中不完整的代碼。

我不相信你可以使用編譯器警告標記代碼。 @Deprecated標記被烘焙到編譯器中。指示方法的更常見的方法是不完全是通過拋出異常:

throw new UnsupportedOperationException("Not implemented yet");

效果不能實現直到運行時,但其他開發是單元測試他們的代碼。

至於識別不完整的代碼,我仍然會參考我原來的評論。使用TODO評論標籤,Eclipse將爲您構建一個任務列表。如果您的列表雜亂無章地清除了自動生成的代碼,則可以使用FIXME,XXX或定義您自己的代碼。你應該能夠過濾你的列表。

1

它通過註釋處理器的API可能

這裏是輕量級javac的警告註釋庫https://github.com/pushtorefresh/javac-warning-annotation

用法:

// some code... 

@Warning("This method should be refactored") 
public void someCodeWhichYouNeedAtTheMomentButYouWantToRefactorItLater() { 
    // bad stuff going on here... 
}