Соглашения по Java-коду: должен соответствовать шаблону '^[az][a-zA-Z0-9]*$'
Я хотел бы использовать следующую константу:
final String ADD = "Add text";
Но мой инструмент CheckStyle говорит мне, что "ADD" не соответствует шаблону '^[a-z][a-zA-Z0-9]*$'.
Может ли кто-нибудь сказать мне, что не так с "ДОБАВИТЬ"? Средства '^[a-z][a-zA-Z0-9]*$'
что каждое имя должно начинаться с низкого символа? Нет ли другой возможности?
Спасибо за ответы.
4 ответа
^[a-z][a-zA-Z0-9]*$
Это регулярное выражение описывает то, что начинается со строчных букв, а остаток состоит из прописных, строчных букв и цифр. (Примеры: aVariable
, variable
, aNewVariable
, variable7
, aNewVariable7
.)
Если вы хотите, чтобы ваше поле было постоянным и статическим, используйте:
static final String ADD = "Add text";
В противном случае используйте:
final String add = "Add text";
Если это константа, которую вы хотите, она также должна быть static
static final String ADD = "Add text";
Константы обычно используют заглавные буквы, но поскольку ваша переменная не была статической, она не интерпретировалась как константа.
Я только что столкнулся с той же проблемой, оказывается, это было связано с тем, что для кодовой базы Java, над которой я работал, ожидается использование верблюжьего регистра для всех переменных в качестве соглашения об именах. Поэтому обязательно проверьте, названы ли ваши переменные в соответствии с шаблоном регулярного выражения.
^[a-z]([a-z0-9][a-zA-Z0-9]*)?$
. В моем случае я застрял в режиме Python и назвал свою переменную
version_regex
вместо
versionRegex
. Как только я внес необходимое исправление, ошибка больше не выдается.
Это регулярное выражение указывает на потребность в camelCase, где первая буква должна быть маленькой, а затем каждое следующее слово имеет первую букву в нем как заглавную.