有时在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