Всем добрый день.
А как вы именуете функции, отдающие булёвое значение? С приставкой get, чтобы можно было обратиться как $user->isBanned, либо без приставки: $user->isBanned() ?
Как вы считаете, как правильнее и лучше?
P.S. Или вообще как function getBanned() ?
function isBanned() или function getIsBanned()?
Re: function isBanned() или function getIsBanned()?
Это холиварная тема
С одной стороны, логичнее isBanned, а с другой, сеттер setIsBanned уже звучит криво
С одной стороны, логичнее isBanned, а с другой, сеттер setIsBanned уже звучит криво
Человек без чувства юмора - не серьёзный человек
Re: function isBanned() или function getIsBanned()?
А разве должен быть подобный сеттер? is это такая же приставка, как и set. Поэтому если нужно установить признак, используется метод setBanned.Neval писал(а):С одной стороны, логичнее isBanned, а с другой, сеттер setIsBanned уже звучит криво
А вообще, в данном случае, признак бана не должен устанавливать сторонний код. Для стороннего кода должен существовать метод вроде makeBan($user, $bannedBy, $unBanDate, $banReason), а уже этот метод вызывает приватный метод setBanned или напрямую меняет приватное свойство.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: function isBanned() или function getIsBanned()?
Именую без get.
Нравится Yii? Давайте сделаем его лучше!.
Re: function isBanned() или function getIsBanned()?
Я вот тоже больше склоняюсь к варианту без get. Мне он кажется более интуитивно понятным. Хотя у именований с get-ом тоже есть свой плюс: функции удобно расположены в навигаторе класса и их удобно искать (все методы модели, что либо возвращающие, имеют префикс get - очень прозрачно).
Имеет ли смысл использовать "make" для слова, которое само может выступать в качестве глагола? $user->ban(...);Для стороннего кода должен существовать метод вроде makeBan($user, $bannedBy, $unBanDate, $banReason), а уже этот метод вызывает приватный метод setBanned или напрямую меняет приватное свойство.
Re: function isBanned() или function getIsBanned()?
Зависит от того, как вы назвали флаг. Если флаг называется $ban, то использовать метод с тем же именем нежелательно. Если же флаг называется как-то по другому, то почему бы и нет.Токагэ писал(а):Имеет ли смысл использовать "make" для слова, которое само может выступать в качестве глагола? $user->ban(...);