Проклятые SJWшникт. Теперь пол через TRUE/FALSE не закодишь.
Зато охуенноую строку в 10 мегабайт не динамическую F и M записать можно с чистой совестью
и раньше не кодили через bool, ведь нужен ещё вариант что пользователь не указал ничего
Ну в C# есть Nullable типы- это некая структура на уровне языка, которая если неинициализирована возвращает null, а если инициализирована, то конкретное значение.
Это сразу быдлокод.
Тебе надо пол закодировать, а не булевую переменную, а если еще и null впендюрить, то это рано или поздно приведет к проблемам, не говоря о одних и тех же повторяющихся проверках на null. Опять же это по хорошему должно и значить неинициализированную переменную, любую, а не только гендер. Все это создает про слабо читаемый и тяжело сопровождаемый код. Потом кто-то забудет назвать аргумент в методе ожидающий этот тип, и по её булевскому типу уже хер догадаешься что там хранится.
Как вариант можно было бы использовать enum, но он немножечко того, отсталый, потому что его можно легко преобразовывать только к числам, что в данном случае не подходит. Опять же можно было привлечь параметрический полиморфизм, по простому - абстрактный дженерик который был бы контейнером для этого enum, с двумя наследниками один строго для записи м и ж, а второй бы еще позволял хранить строку с кастомным гендером.
Бля, легче уже FSM тогда сделать, который без enum, но имеет три состояния и позволяет относительно просто добавлять новые состояния, по желанию пятки заказчика. Но тут могут быть и свои проблемы, когда понадобится где-то обработать все три, а не дайбох, и просто все какие были добавлены, состояние по разному. Это тоже можно было бы решить добавив фасад для работы с этой всей машинерией.
Вот к чему может привести тупое копирование кастрированной системы типов у си++образных предков.
Краткое резюме, как усложнить себе жизнь.
И не говори, всего-то забили на union тип
Тогда код и модель бы выглядел примерно так:
type Gender =
| Male
| Female
| Custom of string
инструкция как потратить всё время, отведенное на задачу, на проектирование правильного типа для пола и нихуя не сделать
Хорошо, можешь написать метод, который выведет пол. Для пола выбираем булеан, это будет единственный параметр, ок? Напишешь правильный код с первой попытки? А сможешь потом к кастомному полу добавить еще и "боевой вертолет"?
а можт для начала подумать, нахуя тебе вообще пол в базе? чо ты с ним делать будешь?
Ну что тебе мешает самому реализовать паттерн null object? Если переменная не инициилищирована, то возвращай значение unknown и проверки на нулл нигде не придётся делать, что бы программа не упала. Даже такой паттерн есть.
... null?
Краткое напоминание: Следует различать гендер и пол. Пола всегда 2 и его можно по прежнему определять булевом. То что напридумывали SJWшники это касается понятия гендера.
Но в некоторых случаях пол либо есть, либо его таки нету, что впрочем тоже определяет выбор всего из двух возможных вариантов;)
А как же гермафродиты?
Бесплодные женщины и дети до 12 - мужчины?
Самая молодая мама родила в 5 лет.
А для бесплодных- экстракорпоральное оплодотворение.
Если способна выносить ребенка- женщина. Если не способна в результате болезни или удаления матки или яичников, но была способна- женщина.
я могу выносить ребенка минут 10, потом бесить начинает
>> Да, есть истинные гермафродиты, но их всего ~150-200 штук было за всю историю человечества :D
Поэтому их всех нужно уничтожить :D Слава евгенике XD
В этом редукционизме к детсадовскому уровню знаний нет ничего хорошего. Точно так же можно сказать, что отрицательных чисен не существует, потому что твои знания о математике сводятся к счету на яблоках.
>Какие отрицательные числа? Яблоки либо есть, либо нет, все просто :) Поэтому можно просто взять кредит, потратить все деньги и не возвращать ::::DDDDD
Пф.
На многих сервисах можно регистрироваться, как организация.
Те же банки научились обслуживать организации раньше, чем женщин.
А как простите "Левое движение" было задействовано в общем увеличении мощностей?На какую либо из социально-правовых организаций было оформлен патент на микропроцессор,архитектуру или похожую интеллектуальную собственность, или у они владеют средствами производства?
Я полагаю что он подразумевает опенсорс, а не левых в традиционном политическом смысле.
Опенсорс конечно можно считать чуть ли не айти-коммунизмом, да и Столлман, отец всея копилефта явный радикальный левак, но все же отождествление пожалуй сильно натянутое, айти это одно, реальная жизнь это другое. Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
>>Я полагаю что он подразумевает опенсорс, а не левых в традиционном политическом смысле.
Опенсорс это и есть левое движение. Просто окно Овертона настолько сдвинуто в его сторону, что проще сделать вид, что это плод прогресса, чем пытаться развернуть машину пропаганды и рассказывать как на гитхабе вербуют террористов.
Точно так же хейтеры феминизма третьей волны часто думают, что всеобщее избирательное право - норма, а женщины до 20 века не работали.
>>айти это одно, реальная жизнь это другое
Опенсорс это далеко не только айти.
>>Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
С волками жить - по волчьи выть.
Чот только некоторые особо упоротые представители левого движения всякие master/slave и whitelist переименовывают в свободном коде.
Чот больше всего возражают против этих изменений люди, которые за всю жизнь ни строчки кода для опенсорсного проекта не написали.
Если какие-то данные приходят извне, то всегда нужно оставлять в типе данных для хранения возможность для маневра, а не делать втупую простыми значениями. Потому что потом выясняется, что полов у нас более двух, типа уникальные номера паспортов еще как могут повторяться, дата может быть по календарю племени тумба-юмба, а возраст нужно уметь хранить в виде натуральных дробей и дописком в виде дней.
Справочник Минздрава "Пол пациента". Хреново если ты пол через true/false вносишь. Тру програимеры делают через справочное значение это делают.
max 10 cm
Теперь будем genderами меряться.
МАХ 10 Мб? это что туда вписать нужно? Анна Каренина в тексте весит около 2-х мегабайт...
Может они целый класс собрались импортировать!
Да не норм тема я например как настоящий не угнетатель взял себе пол 700 летней лоли вампир.
А чего это они ограничили мой гендер 10ю мегабайтами! Угнетают!
Это 10 мегабайт чтобы вписать набор нуклеотидов
BROWSE
UI списка доноров в банке спермы, не иначе
Но мой гендер весит 11 мб. Ну, если вода тёплая.
Скорее всего там имелся в виду файл с картинкой на писание всех гендеров. Вот эта весит больше 3 мб. Видимо ориентируясь на неё нужно выбрать свой пол.
А, учитывая, что картинка старая и сейчас существует много других гендеров то в расширенной версии она как раз и будет достигать 10 мб. Только в неё надо добавить ещё вот этих:
1. Agender — бесполый
2. Androgyne — андроген, гермафродит (мужчиноженщина)
3. Androgynous — мужеженственный (внутренне, по ощущениям)
4. Bigender — ощущающие себя в разное время то мужчиной, то женщиной
5 Cis — латинск. «пред-», т.е. «недо-» (без негативной коннотации)
6. Cis Female — предженский, недоженский
7. Cis Male — предмужской, недомужской
8. Cis Man — предмужчина, недомужчина
9. Cis Woman — предженщина, недоженщина
10. Cisgender — предполовой, недополовой
11. Cisgender Female — женский предпол, недополовой женский
12. Cisgender Male — мужской предпол, недополовой мужской
13. Cisgender Man — предполовой мужчина, недополовой мужчина
14. Cisgender Woman — предполовая женщина, недополовая женщина
15. Female to Male — от женского к мужскому
16. FTM — женщина, хирургически, внешне, принявшая облик мужчины
17. Gender Fluid — неустойчивый, «текучий»
18. Gender Nonconforming — отрицающий традиционную классификацию
19. Gender Questioning — пол, остающийся под вопросом
20. Gender Variant — пол, допускающий несколько вариантов
21. Genderqueer — свой особенный, своеобычный
22. Intersex — межполовой
23. Male to Female — от мужчины к женщине
24. MTF — мужчина, хирургически, внешне, принявший облик женщины
25. Neither — ни тот, ни другой (из двух традиционных)
26. Neutrois — стремящиеся устранить половые признаки во внешнем виде
27. Non-binary — отрицающий систему двух полов
28. Other — другое
29. Pangender — всеобщеполовой
30. Trans — переходной к другому полу
31. Trans Female — переходной к женскому половому состоянию
32. Trans Male — переходной к мужскому половому состоянию
33. Trans Man — переходной к мужчине
34. Trans Person — переходной к лицу, вне половой классификации
35. Trans Woman — переходной к женщине
36. Trans(asterisk) — переходной к другому полу (* — с сохранением тайны)
37. Trans(asterisk)Female — переходной к женскому половому состоянию (*)
38. Trans(asterisk)Male — переходной к мужскому половому состоянию(*)
39. Trans(asterisk)Man — переходной к мужчине(*)
40. Trans(asterisk)Person — переходной к лицу, вне половой классификации(*)
41. Trans(asterisk)Woman — переходной к женщине(*)
42. Transexual — транссексуальный
43. Transexual Female — женский траннсексуальный
44. Transexual Male — мужской транссексуальный
45. Transexual Man — мужчина транссексуал
46. Transexual Person — лицо траннсексуал
47. Transexual Woman — женщина транссексуал
48. Transgender Female
49. Transgender Male
50. Transgender Man
51. Transgender Person
52. Transgender Woman
53. Transmasculine — «за пределами мужского» (фантазии на тему мужского пола)
54. Two-spirit — две души, «двудушный» (без негативной коннотации)
Шняга какая-то. Почему Cis Male, Cis Man, Cisgender Male и Cisgender Man записаны как разные категории, если это ОДНО И ТО ЖЕ? Почему перевод латинской приставки cis передан абсолютно неверно?
Не знаю, на "Эхо Москвы" перевод этот нашёл.
а в коде тупо if (genderRadio[2].checked) gender = "не указан";
игнорируя те 10 мегабайт