Ну в C# есть Nullable типы- это некая структура на уровне языка, которая если неинициализирована возвращает null, а если инициализирована, то конкретное значение.
Это сразу быдлокод.
Тебе надо пол закодировать, а не булевую переменную, а если еще и null впендюрить, то это рано или поздно приведет к проблемам, не говоря о одних и тех же повторяющихся проверках на null. Опять же это по хорошему должно и значить неинициализированную переменную, любую, а не только гендер. Все это создает про слабо читаемый и тяжело сопровождаемый код. Потом кто-то забудет назвать аргумент в методе ожидающий этот тип, и по её булевскому типу уже хер догадаешься что там хранится.
Как вариант можно было бы использовать enum, но он немножечко того, отсталый, потому что его можно легко преобразовывать только к числам, что в данном случае не подходит. Опять же можно было привлечь параметрический полиморфизм, по простому - абстрактный дженерик который был бы контейнером для этого enum, с двумя наследниками один строго для записи м и ж, а второй бы еще позволял хранить строку с кастомным гендером.
Бля, легче уже FSM тогда сделать, который без enum, но имеет три состояния и позволяет относительно просто добавлять новые состояния, по желанию пятки заказчика. Но тут могут быть и свои проблемы, когда понадобится где-то обработать все три, а не дайбох, и просто все какие были добавлены, состояние по разному. Это тоже можно было бы решить добавив фасад для работы с этой всей машинерией.
Вот к чему может привести тупое копирование кастрированной системы типов у си++образных предков.
Хорошо, можешь написать метод, который выведет пол. Для пола выбираем булеан, это будет единственный параметр, ок? Напишешь правильный код с первой попытки? А сможешь потом к кастомному полу добавить еще и "боевой вертолет"?
ты понимаешь вообще, что прежде, чем начать моделировать типы, ты должен понимать, какую задачу ты вообще решаешь? каков твой домен, что ты с ними делать будешь?
загугли, что такое overengineering
когда ты закончишь школу, и, может быть, тебя возьмут на приличную работу, ты, возможно, поймешь, что такой бег впереди паровоза на хер никому не нужен
Молодец. Ты сразу видно что писал взрослый человек - перейти на личности и назвать кого-то школьником.
С простенькой задачей смоделировать пол не справился, код не написал, но зато съехал на домен, на отмазки и закончил самым тупым аргументом. Архитектором будешь.
Нихуя, тело выше правильно пишет: вначале выкатываешь ТЗ и возможные изменения, а не фигачить с запасом на запуск в космос и пытаешься крутить педали на полученой гравиацапле. Если это условная инфа в игровом профиле ммошки, всем чхать будет ли там вертолет. Для соцсети уже критично вообще сделать отдельную entity задающую пол и добавлять их через админку.
Можно конечно проектировать велосипед с запасом прочности для полета на Альфацентавру, но на практике когда реально приходит такая задача, то велик выкидуют и строят долбаный космолет.
Теперь возращаемся к полам: есть сайт гоструктуры, которая на приборе вертела все гендеры и самоиндификации, ибо бюрократия. Для них физлицо либо тян, либо кун, тут даже NULL не котируется. Ты вот реально уверен что в такую бизнесмодель стоит закладывать что-то сложнее enum? Причем скрывать\показывать блоки в зависимости от пола в таком подходе значительно проще (тупо пихаешь внутырь if(gender) или if(!gender)), минусом можно сказать что незнакомому телу будет сложно с ходу привыкнуть какое значение за что отвечает (в отличии от более наглядного enum с последующим if(gender == Gender.Male))
Ну что тебе мешает самому реализовать паттерн null object? Если переменная не инициилищирована, то возвращай значение unknown и проверки на нулл нигде не придётся делать, что бы программа не упала. Даже такой паттерн есть.
Краткое напоминание: Следует различать гендер и пол. Пола всегда 2 и его можно по прежнему определять булевом. То что напридумывали SJWшники это касается понятия гендера.
А для бесплодных- экстракорпоральное оплодотворение.
Если способна выносить ребенка- женщина. Если не способна в результате болезни или удаления матки или яичников, но была способна- женщина.
>> Да, есть истинные гермафродиты, но их всего ~150-200 штук было за всю историю человечества :D Поэтому их всех нужно уничтожить :D Слава евгенике XD
В этом редукционизме к детсадовскому уровню знаний нет ничего хорошего. Точно так же можно сказать, что отрицательных чисен не существует, потому что твои знания о математике сводятся к счету на яблоках.
>Какие отрицательные числа? Яблоки либо есть, либо нет, все просто :) Поэтому можно просто взять кредит, потратить все деньги и не возвращать ::::DDDDD
А как простите "Левое движение" было задействовано в общем увеличении мощностей?На какую либо из социально-правовых организаций было оформлен патент на микропроцессор,архитектуру или похожую интеллектуальную собственность, или у они владеют средствами производства?
Я полагаю что он подразумевает опенсорс, а не левых в традиционном политическом смысле.
Опенсорс конечно можно считать чуть ли не айти-коммунизмом, да и Столлман, отец всея копилефта явный радикальный левак, но все же отождествление пожалуй сильно натянутое, айти это одно, реальная жизнь это другое. Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
>>Я полагаю что он подразумевает опенсорс, а не левых в традиционном политическом смысле.
Опенсорс это и есть левое движение. Просто окно Овертона настолько сдвинуто в его сторону, что проще сделать вид, что это плод прогресса, чем пытаться развернуть машину пропаганды и рассказывать как на гитхабе вербуют террористов.
Точно так же хейтеры феминизма третьей волны часто думают, что всеобщее избирательное право - норма, а женщины до 20 века не работали.
>>айти это одно, реальная жизнь это другое
Опенсорс это далеко не только айти.
>>Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
С волками жить - по волчьи выть.
Если какие-то данные приходят извне, то всегда нужно оставлять в типе данных для хранения возможность для маневра, а не делать втупую простыми значениями. Потому что потом выясняется, что полов у нас более двух, типа уникальные номера паспортов еще как могут повторяться, дата может быть по календарю племени тумба-юмба, а возраст нужно уметь хранить в виде натуральных дробей и дописком в виде дней.
Скорее всего там имелся в виду файл с картинкой на писание всех гендеров. Вот эта весит больше 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 передан абсолютно неверно?
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 + W 479 & Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
Тебе надо пол закодировать, а не булевую переменную, а если еще и null впендюрить, то это рано или поздно приведет к проблемам, не говоря о одних и тех же повторяющихся проверках на null. Опять же это по хорошему должно и значить неинициализированную переменную, любую, а не только гендер. Все это создает про слабо читаемый и тяжело сопровождаемый код. Потом кто-то забудет назвать аргумент в методе ожидающий этот тип, и по её булевскому типу уже хер догадаешься что там хранится.
Как вариант можно было бы использовать enum, но он немножечко того, отсталый, потому что его можно легко преобразовывать только к числам, что в данном случае не подходит. Опять же можно было привлечь параметрический полиморфизм, по простому - абстрактный дженерик который был бы контейнером для этого enum, с двумя наследниками один строго для записи м и ж, а второй бы еще позволял хранить строку с кастомным гендером.
Бля, легче уже FSM тогда сделать, который без enum, но имеет три состояния и позволяет относительно просто добавлять новые состояния, по желанию пятки заказчика. Но тут могут быть и свои проблемы, когда понадобится где-то обработать все три, а не дайбох, и просто все какие были добавлены, состояние по разному. Это тоже можно было бы решить добавив фасад для работы с этой всей машинерией.
Вот к чему может привести тупое копирование кастрированной системы типов у си++образных предков.
Тогда код и модель бы выглядел примерно так:
type Gender =
| Male
| Female
| Custom of string
когда ты закончишь школу, и, может быть, тебя возьмут на приличную работу, ты, возможно, поймешь, что такой бег впереди паровоза на хер никому не нужен
С простенькой задачей смоделировать пол не справился, код не написал, но зато съехал на домен, на отмазки и закончил самым тупым аргументом. Архитектором будешь.
Можно конечно проектировать велосипед с запасом прочности для полета на Альфацентавру, но на практике когда реально приходит такая задача, то велик выкидуют и строят долбаный космолет.
Теперь возращаемся к полам: есть сайт гоструктуры, которая на приборе вертела все гендеры и самоиндификации, ибо бюрократия. Для них физлицо либо тян, либо кун, тут даже NULL не котируется. Ты вот реально уверен что в такую бизнесмодель стоит закладывать что-то сложнее enum? Причем скрывать\показывать блоки в зависимости от пола в таком подходе значительно проще (тупо пихаешь внутырь if(gender) или if(!gender)), минусом можно сказать что незнакомому телу будет сложно с ходу привыкнуть какое значение за что отвечает (в отличии от более наглядного enum с последующим if(gender == Gender.Male))
Если способна выносить ребенка- женщина. Если не способна в результате болезни или удаления матки или яичников, но была способна- женщина.
Поэтому их всех нужно уничтожить :D Слава евгенике XD
В этом редукционизме к детсадовскому уровню знаний нет ничего хорошего. Точно так же можно сказать, что отрицательных чисен не существует, потому что твои знания о математике сводятся к счету на яблоках.
>Какие отрицательные числа? Яблоки либо есть, либо нет, все просто :) Поэтому можно просто взять кредит, потратить все деньги и не возвращать ::::DDDDD
На многих сервисах можно регистрироваться, как организация.
Те же банки научились обслуживать организации раньше, чем женщин.
Опенсорс конечно можно считать чуть ли не айти-коммунизмом, да и Столлман, отец всея копилефта явный радикальный левак, но все же отождествление пожалуй сильно натянутое, айти это одно, реальная жизнь это другое. Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
Опенсорс это и есть левое движение. Просто окно Овертона настолько сдвинуто в его сторону, что проще сделать вид, что это плод прогресса, чем пытаться развернуть машину пропаганды и рассказывать как на гитхабе вербуют террористов.
Точно так же хейтеры феминизма третьей волны часто думают, что всеобщее избирательное право - норма, а женщины до 20 века не работали.
>>айти это одно, реальная жизнь это другое
Опенсорс это далеко не только айти.
>>Хотя организаций с кучей интеллектуальных собственностей у опенсорса хватает.
С волками жить - по волчьи выть.
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 — две души, «двудушный» (без негативной коннотации)
if (genderRadio[2].checked) gender = "не указан";
игнорируя те 10 мегабайт