Подтвердить что ты не робот

Is или Are для префикса булевых значений

При присвоении имени логическому значению или функции, возвращающей логическое значение, обычно используется префикс с символом "is", например.

  • isPointerNull
  • isShapeSquare

Как насчет ссылки на несколько элементов, если это так:

  • arePointersNull или isPointersNull
  • areShapesNull или isShapesNull

Я могу видеть аргументы для обоих; предлагает согласованность и, возможно, немного лучшую читаемость, делает код более естественным.

Любые мнения?

4b9b3361

Ответ 1

Во-первых, isPointersNull просто уродлив. Не делайте этого.

Обычно я использую any или all, поскольку are может быть неоднозначным. Означает ли это, что "есть нулевые указатели" или "указатели все нулевые"? anyPointersNull и allPointersNull очистить это, IMO.

Ответ 2

Пожалуйста, не используйте isPointersNull. Последовательность не является основанием для жертвования грамматикой и удобочитаемостью.

Ответ 3

Это зависит от языка. Если вы используете Java, "isPointersNull" будет интерпретироваться как поле "pointersNull", где "isPointersNull" не будет использоваться, если вы используете какие-либо средства обработки JavaBean.

Я согласен с тем, что читаемость имеет первостепенное значение, но соглашения bean допускают общий анализ объектов.

Ответ 4

isPointersNull выглядит как опечатка. isPointersNull прекрасно понимает тот факт, что в рассмотрении этого логического объекта участвует более одного объекта. Но если вы хотите согласованности, вы можете обратиться к массиву или коллекции, которые должны быть вашими указателями:

  • isPointerArrayNull
  • isPointerCollectionEmpty
  • и др.

Ответ 5

IMO - зависит от контекста (использования и удобочитаемости) логической переменной.

Например:
- если переменная ссылается на единственный указатель, равный нулю, я бы использовал: isPointerNull
- если переменная ссылается на то, что несколько указателей равны нулю, я бы использовал: arePointersNull

НТН.

Ответ 6

Я лично перехожу с isWhatever, если я ссылаюсь на метод getter логической переменной, независимо от того, насколько уродливым она соответствует правилам грамматики go. Но если бы у меня был метод, который делал какую-то проверку объекта на основе какого-либо бизнес-правила (например, если число или числа/являются основными), я бы использовал имена, которые сделают моих учителей английского языка счастливыми.

Ответ 7

Действительно, очень поздно на шоу, но несколько скромных мыслей об одной из самых неправильно понятых стратегий префиксов:

  • Кодекс должен давать инструкции, а не задавать вопросы. isUserAdmin? Ты меня спрашиваешь? Я не знаю, вы говорите мне. О, кто-то позади меня? Я не читаю рассказ Достоевского, полный философских вопросов. Я читаю формальный набор команд для компьютера для выполнения. Глаголы в императивном настроении, позитивные высказывания, логические условия.
  • Код должен быть более или менее на грамматически правильном английском языке. Количественная оценка и множественность имеют значение.

Так

if (pointersAreNull())

или, как утверждается в принятом ответе, еще менее неоднозначно

if (allPointersAreNull())

Приветствия