由于一些奇怪的要求(源代码的后期处理),我需要使用“this”。语法而不仅仅是成员变量名。有没有办法可以在编译时强制执行静态检查,以确保我使用“this”。而不是较短的等价物?
答案 0 :(得分:19)
在Eclipse中,您可以进入Java /编译器/错误和警告/代码样式,并将“对实例字段的非限定访问”更改为“错误”而不是默认的“忽略”。
编辑:使用此更改混合到IDE(当然,如果您正在使用Eclipse)和checkstyle作为构建规则的一部分就足够了。
答案 1 :(得分:9)
你曾经使用过checkstyle吗?您可以在xml中定义代码样式规则并在编译时运行它。如果你关心,还有一个maven插件。
答案 2 :(得分:7)
Eclipse提供了配置清理工具的功能,以便为您执行此操作。
答案 3 :(得分:2)
IntelliJ具有Instance field access not qualified with 'this'
它还可以为字段,类或模块更正此选项。这样的事情可以让你自己不得不触摸很多文件。
答案 4 :(得分:1)
您可以使用checkstyle来强制执行此类要求。
答案 5 :(得分:1)
您应该能够使用像CheckStyle这样的静态代码分析器在编译时完成此操作。
http://checkstyle.sourceforge.net/config_coding.html#RequireThis