有時在Eclipse中編寫Java時,我會編寫生成警告的代碼。一個常見的一個是這樣的,延長了Exception
類時,我得到:抑制警告是否是一種好習慣?
public class NumberDivideException extends Exception {
public NumberDivideException() {
super("Illegal complex number operation!");
}
public NumberDivideException(String s) {
super(s);
}
} // end NumberDivideException
警告:
的序列化類NumberDivideException沒有聲明long類型的靜態最後的serialVersionUID領域。
我知道這個警告是由於我的失敗導致的......好吧,它說的是正確的。我可以通過加入serialVersionUID
來解決這個問題,但這對於學校來說是一個小時的小任務。我不打算在短時間內將其序列化...
另一種選擇當然是讓Eclipse添加@SuppressWarnings("serial")
。
但每當我的鼠標懸停在Suppress
選項上時,我感到有點內疚。
對於一般的編程,抑制警告是否是一個好習慣?
(此外,作爲一個側面的問題,是增加一個「生成」 serialVersionUID
像serialVersionUID = -1049317663306637382L;
適當的方法來添加一個serialVersionUID
,還是我數來確定一些其他的方式?)
編輯:看到答案後,看起來我的問題可能有些爭議......對不起! 儘管我遲到了...
我可以尊重不同意見的人? Eclipse正在使用的Eclipse可以選擇發出有關使用有用語言功能的警告(例如裝箱/取消裝箱)。我發現把這些做得很痛苦。 – msandiford 2010-04-18 00:59:54
Tom,您是否在MSVC中編寫了C或C++,並提供了有關完美正常標準函數的「有用」警告? – KTC 2010-04-18 02:07:39
是的,我使用了許多不同的C++/C環境。有預處理器指令可以在我所知的每一條線路上逐行關閉警告。至於Eclipse,拳擊/拆箱是潛在的昂貴的東西,應該是一個警告。我認爲迫使開發人員在30秒內考慮每個警告並作出明確的決定來覆蓋每個事件是合理的。偶爾,編譯器確實知道得更好。 – 2010-04-19 13:52:33