PMD/Checkstyle - 强制在注释值中使用常量
PMD/Checkstyle - Force usage of Constant in Annotation-Value
我有一个 java 注释 @Foo(value = "MyValueA")
。由于它只能使用几个值,所以我决定将它们作为常量放入 class 中。因此用户可以改用 @Foo(value = MyValues.A)
。
如何让 PMD 或 Checkstyle 强制使用此常量,而不是原始字符串?
在 PMD 中,您可以创建 your own ruleset to define a custom rule using an XPath expression 来匹配此注释的值设置为文字字符串的情况:
//NormalAnnotation[@AnnotationName = 'Foo']//MemberValuePair[@Image = 'value']/MemberValue//Literal
我有一个 java 注释 @Foo(value = "MyValueA")
。由于它只能使用几个值,所以我决定将它们作为常量放入 class 中。因此用户可以改用 @Foo(value = MyValues.A)
。
如何让 PMD 或 Checkstyle 强制使用此常量,而不是原始字符串?
在 PMD 中,您可以创建 your own ruleset to define a custom rule using an XPath expression 来匹配此注释的值设置为文字字符串的情况:
//NormalAnnotation[@AnnotationName = 'Foo']//MemberValuePair[@Image = 'value']/MemberValue//Literal