代码分析:检查给定函数的String参数是否在* .properties文件中可用

时间:2012-02-23 07:32:19

标签: code-analysis findbugs checkstyle pmd

考虑Java代码:

ReadProperty.get("info")

my_stettings.properties文件:

info=Lorem ipsum
server=computer01

我想知道是否可以使用代码分析工具(Checkstyle,FindBugs,PMD ...)来检查String方法的get()参数是否可用于{{ 1}}文件。

my_stettings.properties

您对我如何实现这一目标有一些意见吗?

2 个答案:

答案 0 :(得分:2)

我不知道这样做的任何现有工具。然而,android平台上使用的模式可以用于您的问题,在这种情况下是 R资源类模式,它从属性文件生成一个类。所以文件my_stettings.properties

info=Lorem ipsum
server=computer01

应该导致像

这样的课程
public final class R {
    public static final int info=1;
    public static final int server=1;
}

在这种情况下,您可以将其与

一起使用
ReadProperty.get(R.info);

如果属性不可用则无法编译。

答案 1 :(得分:1)

我认为这不可能或者值得开发此功能。

ReadProperty.get()应返回null或抛出异常(例如IllegalArgumentException)如果属性文件中不存在该键,则单元测试应检查该客户端ReadProperty效果很好(例如,正确处理null返回值。)