2011-07-31 43 views
7

当编译器遇到用户定义的注释时,是否可以生成警告?类似于@Deprecated注释的东西?使用用户定义的注释生成编译器警告

感谢

+0

为什么它应该是可能的,定制的annota重刑是相当合法的? @Deprecated的警告是内置功能。看看你的IDE是否提供了对自定义静态代码分析的内置支持...... – home

+0

@home:我想注释一些方法,在这些方法中我已经完成了一些编码,但是评论它导致目前不需要。不想继续搜索它。浏览代码时应该清晰可见。我正在使用Eclipse Helios。是否可以对其进行代码分析?我无法找到它。谢谢 –

+1

为什么不在评论中使用// TODO标记? Eclipse会将它们全部收集到您的任务列表中。它们也沿编辑器窗口的右边缘以蓝色突出显示。 (警告以黄色突出显示。) – jkeeler

回答

3

根据你原来的问题和意见,我想你要做到以下几点:

  • 标记代码不完整的(用编译器警告),所以其他开发商不使用还没完成。
  • 在稍后的时间点识别IDE中不完整的代码。

我不相信你可以使用编译器警告标记代码。 @Deprecated标记被烘焙到编译器中。指示方法的更常见的方法是不完全是通过抛出异常:

throw new UnsupportedOperationException("Not implemented yet");

效果不能实现直到运行时,但其他开发是单元测试他们的代码。

至于识别不完整的代码,我仍然会参考我原来的评论。使用TODO评论标签,Eclipse将为您构建一个任务列表。如果您的列表杂乱无章地清除了自动生成的代码,则可以使用FIXME,XXX或定义您自己的代码。你应该能够过滤你的列表。

1

它通过注释处理器的API可能

这里是轻量级javac的警告注释库https://github.com/pushtorefresh/javac-warning-annotation

用法:

// some code... 

@Warning("This method should be refactored") 
public void someCodeWhichYouNeedAtTheMomentButYouWantToRefactorItLater() { 
    // bad stuff going on here... 
}