Соглашения по 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, где первая буква должна быть маленькой, а затем каждое следующее слово имеет первую букву в нем как заглавную.

Другие вопросы по тегам