Анализ кода: проверьте, доступен ли параметр String данной функции в файле * .properties - PullRequest
2 голосов
/ 23 февраля 2012

Рассмотрим код Java:

ReadProperty.get("info")

И my_stettings.properties файл:

info=Lorem ipsum
server=computer01

Мне было интересно, можно ли использовать инструмент анализа кода (Checkstyle, FindBugs, PMD ...), чтобы проверить, доступен ли параметр String моего метода get() в файле my_stettings.properties.

ReadProperty.get("servers") //should produce a warning
ReadProperty.get("server") //is OK

Есть ли у вас какие-либо материалы о том, как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Я не знаю ни одного существующего инструмента для этого.Однако на платформе 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 голос
/ 24 февраля 2012

Я не думаю, что это возможно или стоило бы развить эту функциональность.

ReadProperty.get() должен вернуться с null или вызвать исключение (например, IllegalArgumentException), если ключ не существует в файле свойств и модульные тесты должны проверить, что клиенты ReadPropertyработает хорошо (например, null возвращает значения правильно).

...