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

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

因此,我想知道是否有一些解决方法可以使IDE突出显示已弃用的此类代码样式自定义批注?还是这通常是错误的方式或错误的任务?

最佳答案

您可以编写这些注释的系列,然后将它们与@Deprecated一起使用。后者会向您发出警告,而前者会向读者提供详细信息。您可以编写Checkstyle规则,要求每个不赞成使用的事物都带有解释性注释,并且/或者每个解释都伴随一个不赞成使用。

不过,我不会编写几个注释,而是编写一个注释,该注释将说明性标签作为参数。我称它为@BecauseItIs。所以:

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

10-08 12:42