2012-08-09 59 views
1

語義代碼風格沒有任何人有某種形式的項目,前「代碼風格」註釋:@OverEngineered超過絡合代碼或@Duplicated ...等Java註釋與像@Deprecated

理想我想爲@Deprecated創建子類(@OverEngineered extends @Deprecated)以使IDE突出顯示它,但是java annotations are not inherited

所以我想知道是否有一些解決方法讓IDE將這種代碼風格的自定義註釋突出顯示爲棄用?或者這是一種錯誤的方式還是錯誤的任務?

回答

1

您可以編寫這些註釋族,然後將它們與@Deprecated並行使用。後者給你提供警告,前者爲人類讀者提供細節。您可以編寫Checkstyle規則,要求每個棄用的事物都有解釋性註釋,並且/或者每個解釋都伴隨棄用。

雖然,我會寫一個,它將解釋性標籤作爲參數,而不是寫幾個註釋。我會稱之爲@BecauseItIs。所以:

@Deprecated @BecauseItIs("overengineered") 
public void calculateSumOfTwoIntegersUsingSurfaceIntegrals(int a, int b) { 
+0

感謝,我也想過這個解決方法 – yetanothercoder 2012-08-10 08:29:19

1

解決方法將使用您爲Eclipse開發的插件來實現。但是,我認爲,在代碼中沒有什麼比語義上更好的書面評論。

畢竟它取決於目的。但我認爲一個好的評論比任何人都必須安裝的插件要好。

1

對於我來說,如果除了在IDE中引用注意力之外還有其他目標,我還不清楚。您提到了@Deprecated,它也出現在Javadoc,IDE文檔彈出窗口和編譯器輸出中。

對於沒有其他可能性的IDE突出顯示,您可以利用大多數IDE支持的FIXME/TODO種類的評論標籤(至少是我用過的)。只需添加自己的標籤OVERENGINEERED: this is too ...

Eclipse允許你還可以指定,如果你想匹配的情況下,因此它可能是OverEngineered: