2

是否有人在项目中有某种“代码样式”注释,例如:@OverEngineered 用于过度复杂的代码或 @Duplicated... 等。

理想情况下,我会为 @Deprecated 子类化(@OverEngineered 扩展 @Deprecated)以使 IDE 突出显示它,但java 注释不是继承的

所以我想知道是否有一些解决方法可以让 IDE 突出显示已弃用的代码样式自定义注释?或者这通常是错误的方式或错误的任务?

4

3 回答 3

2

您可以编写一系列这些注释,然后将它们与@Deprecated. 后者为您提供警告,前者向人类读者提供详细信息。你可以编写一个Checkstyle规则来要求每个弃用的东西都有一个解释性注释,和/或每个解释都伴随一个弃用。

不过,我不会写几个注释,而是写一个,它将解释性标签作为参数。我会调用它@BecauseItIs。所以:

@Deprecated @BecauseItIs("overengineered")
public void calculateSumOfTwoIntegersUsingSurfaceIntegrals(int a, int b) {
于 2012-08-09T20:20:43.953 回答
1

解决方法将使用您为 Eclipse 开发的插件来实现。然而,我想说,没有什么比代码中好的书面注释更符合语义的了。

毕竟这取决于目的。但我认为一个好的评论比任何人都必须安装的插件要好。

于 2012-08-09T17:49:02.740 回答
1

我不清楚除了在 IDE 中引起注意之外,您是否还有其他目标。您提到@Deprecated这也出现在 Javadoc、IDE 文档弹出窗口和编译器输出中。

对于简单的 IDE 突出显示而没有其他可能性,您可以利用大多数 IDE 支持的 FIXME / TODO 类型的注释标签(至少是我使用过的那些)。只需添加您自己的标签OVERENGINEERED: this is too ...等。

Eclipse 还允许您指定是否要匹配大小写,因此可以是OverEngineered:

于 2012-08-10T00:42:40.737 回答