Is или Are для префикса булевых значений
При присвоении имени логическому значению или функции, возвращающей логическое значение, обычно используется префикс с символом "is", например.
- isPointerNull
- isShapeSquare
Как насчет ссылки на несколько элементов, если это так:
- arePointersNull или isPointersNull
- areShapesNull или isShapesNull
Я могу видеть аргументы для обоих; предлагает согласованность и, возможно, немного лучшую читаемость, делает код более естественным.
Любые мнения?
Ответы
Ответ 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())
Приветствия