@MEXC_FairPrice_Spreads · Post #1422 · 27.02.2026 г., 09:49
#U | 10.17% | LONG🟢 Last Price: 0.001925 Fair Price: 0.002143 Max Leverage: 100x Max Size: 211.75$ MEXC Fair Price Spreads
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #u
@MEXC_FairPrice_Spreads · Post #1422 · 27.02.2026 г., 09:49
#U | 10.17% | LONG🟢 Last Price: 0.001925 Fair Price: 0.002143 Max Leverage: 100x Max Size: 211.75$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1420 · 27.02.2026 г., 09:39
#U | 14.55% | LONG🟢 Last Price: 0.001368 Fair Price: 0.001601 Max Leverage: 100x Max Size: 150.48$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1416 · 27.02.2026 г., 03:38
#U | 10.10% | LONG🟢 Last Price: 0.001033 Fair Price: 0.001149 Max Leverage: 100x Max Size: 113.63$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1404 · 25.02.2026 г., 09:33
#U | 10.53% | LONG🟢 Last Price: 0.00068 Fair Price: 0.00076 Max Leverage: 100x Max Size: 74.80$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1402 · 25.02.2026 г., 08:38
#U | 11.31% | LONG🟢 Last Price: 0.000706 Fair Price: 0.000796 Max Leverage: 100x Max Size: 77.66$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1400 · 25.02.2026 г., 04:31
#U | 10.08% | LONG🟢 Last Price: 0.000669 Fair Price: 0.000744 Max Leverage: 100x Max Size: 73.59$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1398 · 25.02.2026 г., 03:45
#U | 10.20% | LONG🟢 Last Price: 0.000678 Fair Price: 0.000755 Max Leverage: 100x Max Size: 74.58$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1396 · 25.02.2026 г., 03:10
#U | 10.35% | LONG🟢 Last Price: 0.000667 Fair Price: 0.000744 Max Leverage: 100x Max Size: 73.37$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1394 · 25.02.2026 г., 01:31
#U | 10.03% | LONG🟢 Last Price: 0.000637 Fair Price: 0.000708 Max Leverage: 100x Max Size: 70.07$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1392 · 25.02.2026 г., 00:48
#U | 10.06% | LONG🟢 Last Price: 0.000644 Fair Price: 0.000716 Max Leverage: 100x Max Size: 70.84$ MEXC Fair Price Spreads
Hashtags
@SweetShareChannel · Post #385 · 23.10.2022 г., 11:59
//SweetShare共享请求: 平台:#U-NEXT 价格:46/季/人 备注:日本最大流媒体平台,4人车差1人 ,独立个人账号生肉警告纯日文且无任何字幕,仅限日本节点,不提供任何技术支持,请确定自己听不听得懂日语再决定是否上车 车牌:藏LR9CD0 上车请联系:@SweetTicketsBot
Hashtags
@SweetShareChannel · Post #291 · 06.08.2022 г., 13:33
//SweetShare共享请求: 平台:#U-NEXT 价格:0/月/人 备注:日本最大流媒体平台,白嫖车4人差2人观看到月底下车不续费 ,独立个人账号生肉警告纯日文且无任何字幕,仅限日本节点,不提供任何技术支持,请确定自己听不听得懂日语再决定是否上车 车牌:沪GTGZA8 上车请联系:@SweetTicketsBot
Hashtags