Если условие именования - PullRequest
0 голосов
/ 06 марта 2020

У меня есть логическая функция, которая проверяет, действительны ли ключи скандата. Я назвал его так:

areScandataKeysValid()

Для соглашений о присвоении имен он должен называться isScandataDataKeysValid () или как, как я делал выше ?. В книге «Чистый код» я видел только примеры с в версии . Итак, я запутался, какой из них имеет смысл? Грамматически, « - это », это точно.

Ответы [ 2 ]

2 голосов
/ 06 марта 2020

Соглашение isName() является частью стандарта JavaBeans и применяется к булевозначным свойствам.

  • Если вашему API не требуется совместимость с JavaBeans, вы можете игнорировать соглашение.

  • Если ваш метод проверки ключей сканирования не предназначен для получения "свойства", соглашение isName() не применяется.

Я разделяю ваше предпочтение areScandataKeysValid над isScandataKeysValid из-за грамматического диссонанса. Есть другие альтернативы для рассмотрения; например,

  • hasValidScandataKeys для предиката, или
  • validateScandataKeys или checkScandataKeys для метода, который (обычно) выдает исключение для указания недействительности.

Мне не известны какие-либо задокументированные соглашения (например, руководства по стилю), которые поддерживают любое из вышеперечисленных. (Ничто не говорит о том, что «хорошая грамматика» необходима.)

Итог: ваш выбор.

0 голосов
/ 10 марта 2020

Я думаю, «есть» или «есть» - это лишнее. Самое главное, что предикатная функция имеет прилагательное в качестве последнего слова. Поэтому я бы назвал метод scanDataKeysValid , или, если он понятен из контекста класса, просто keysValid .

...