Хорошо, что мы не в Америке. Там бы обязательно на сайте появились феминистки, которых бы возмутил факт, что женскому полу присвоен признак 0, а не 1 :)
Да уж, это точно. А ведь в демократических странах есть варианты «женщина — бывший мужчина» и «мужчина — бывшая женщина». Да, однозначно, только int. Или недемократический выбор пола :))
Никак, если это примитив, а у объекта как раз может быть состояние null, что можно отображать как "не указан". Или в ruby нет Boolean объектов, только примитивы? Что-то сомниваюсь.
Возможно, это нормальное поведение для языков с динамической типизацией. C# не является таким языком (хотя, как указано выше, можно тип объявить как nullable, что, как мне видится, сделано как раз для облегчения задач ORM). Но это не "плюс" и не "минус" это просто другой язык.
Возможно, это нормальное поведение для языков с динамической типизацией. C# не является таким языком (хотя, как указано выше, можно тип объявить как nullable, что, как мне видится, сделано как раз для облегчения задач ORM). Но это не "плюс" и не "минус" — это просто другой язык.
Очень даже логично и красиво, с точки зрения построения БД. Однако не красиво не давать возможности анонимизировать себя в плане пола. В итоге у вас будет куча пользователей того пола, который у вас будет стоять по умолчанию в списке SELECT.
И ещё, представьте ситуацию: я проектирую БД для своего сайта, и хочу почитать хорошие мысли по этому поводу на Хабре. Так вот, ваш пост я не найду, т.к. вы не правильно заполнили поле «теги, метки».
Для пущей политкорректности можно использовать одно поле для собственно признака пола — «1» или «0», а второе поле — для ответа на вопрос: «Ваш пол — 1 или 0?» =)
С точки зрения архитектуры отвратительно. Булевский тип имеет два совершенно определённых значения: "ложь" и "истина". Очевидно, что "пол" это не "ложь" и "истина", а, если хотите, перечисление (enumeration). Зачем использовать для хранения этого значения неподходящий тип, руководствуясь исключительно соображениями размера поля в базе? Всё-таки "веб-программист" это диагноз.
Отвлекитесь на секунду от полей в базе данных. У человека есть признак "пол" или признак "мужчина"? До последнего времени я слышал только о "поле". Так с какой радости вы его впихиваете в boolean, который хранит _логическое_ значение?
Да, с точки зрения семантики к "isMan" не придерёшься, но с точки зрения объектно-ориентированной архитектуры это выглядит ужасно.
имхо, неверно.
Идеологически "0" - это скорей отсутствие чего-то, чем что-то конкретное.
я во всех проектах принимаю за стандарт что "1" - "да", "2" - "нет",
конкретно по отнощению к полу "1" - "М", "2" - "Ж".
Вот потом будешь своё чудо через годик править, или кто другой будет. И будете натужно вспоминать, что же значит 0 или 1 вот в этом месте.
По-хорошему, чтобы всегда понимать, нужно что-то вроде набора констант (т.е. enum в БД). Тогда, увидев if ('male' === somebody.sex), понимание придёт сразу.
Не в Тайване, а в Тайланде. Он - несколько более раскрепощенная в нравах страна, чем Тайвань. И еще не официально пока. 21 мая 2007 г. еще только готовился проект, бюолее новых сведений пока нету у меня. Но это так, между, так сказать, грешным делом.
Пол — boolean?