带有@Deprecated等语义的代码样式的Java注释

时间:2012-08-09 17:18:29

标签: java coding-style annotations

是否有人拥有某种代码风格"项目中的注释,例如:@OverEngineered用于过度复杂的代码或@Duplicated ......等。

理想情况下,我为@Deprecated创建了子类(@OverEngineered扩展@Deprecated)以使IDE突出显示它,但是java annotations are not inherited

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

3 个答案:

答案 0 :(得分:1)

解决方法将使用您为Eclipse开发的插件实现。但是,我会说,在代码中没有什么比语义更好的书面评论了。

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

我不清楚你是否还有另一个目标,除了在IDE中引起注意。你提到了@Deprecated,它也出现在Javadoc,IDE文档弹出窗口和编译器输出中。

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

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