2011-03-07 63 views
5

我有一些第三方庫Foo與類FooBar。我認爲那個班級FooBar設計不好。我想寫我自己的MyBar作爲適配器模式。我可以在不修改其代碼的情況下將原始FooBar標記爲@Deprecated標記爲已棄用的第三方類

回答

2

@deprecated應被添加到源以標記該類/方法已棄用。所以你不能貶低別人的代碼。

但是,如果你有,你喜歡在你的項目作爲標準使用一個更好的選擇,那麼你可以用其他方式實行這一標準,如checkstyle例如規則。

+0

謝謝。我會閱讀關於檢查風格的內容。 – 2011-03-07 07:03:15

3

你不能把它標記爲不編譯所以需要源

+1

您可能*可以*執行一些字節碼操作來添加[deprecation屬性](http://java.sun.com/docs/books /jvms/second_edition/html/ClassFile.doc.html#78232)。但我認爲這不值得。 – 2011-03-07 06:58:47

+0

謝謝,其實我有源。但我不會做任何修改。首先,其他團隊成員可能很容易忘記使用修改的lib。其次,它會在構建和分發過程中出現新問題,我不確定是否可以通過許可證進行代碼修改。 – 2011-03-07 07:01:31

+0

@Joachim,感謝您的信息。 – 2011-03-07 07:05:17

2

作爲替代,使用IDE的「查找引用」功能查找您的代碼使用違規類的所有地方棄用。或者使用「grep」。

+1

是的,謝謝。但真正的任務阻止_future_中的'FooBar'用法。 – 2011-03-07 07:04:16

1

當然,可以改變類文件,將不贊成使用的註釋添加到類中。 (但我並不熟悉所需的工具)

+0

是的。我可以。但項目中會有新成員怎麼會決定使用原來的圖書館。可能一些checkstyle util是最好的解決方案。 – 2011-03-07 13:18:03