@TFGames · Post #1498 · 12.12.2023 г., 16:21
#DANCING#DOG#GAMES https://testflight.apple.com/join/hKHGpfgw
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #dancing
@TFGames · Post #1498 · 12.12.2023 г., 16:21
#DANCING#DOG#GAMES https://testflight.apple.com/join/hKHGpfgw
@TestFlightX · Post #34653 · 18.11.2024 г., 15:04
#DANCING#LINE#COMMUNITY#EDITION https://testflight.apple.com/join/6WAJ4rTg
Hashtags
@teasticker · Post #9425 · 12.03.2022 г., 07:00
#RekcitsEnilbot#dancing#music#girl#animated
@BarykinaLiubov · Post #2353 · 11.01.2026 г., 14:05
Всех с международным днём хореографа! 💃🏽💃🏽💃🏽 Happy international choreographer day! #LiubovBarykina #Choreographer #Coach #Dancing
@TFGames · Post #1725 · 29.12.2023 г., 12:14
#DANCING#LINE#COMMUNITY#EDITION<br />https://testflight.apple.com/join/XnV3J5fu
Hashtags
@limnosdsstation · Post #9670 · 21.01.2026 г., 22:04
#VRchat#lime#dance https://x.com/HappyShaunVT/status/2013595327023194439 HappyShaun : Happy Tuesday! ;3 JUST A BOY by DrINsaNE is my new favorite song… #happyshaun#dancing#vrchatmemes
@TFGames · Post #1285 · 05.12.2023 г., 08:37
#DANCING#LINE#COMMUNITY#EDITION#GAMES https://testflight.apple.com/join/XnV3J5fu
@teasticker · Post #9669 · 03.05.2022 г., 05:00
#Cute_Bao#cocopry#dancing#animated
@teasticker · Post #9377 · 28.02.2022 г., 15:31
#RobloXDance#fStikBot#dancing#boy#animated
@teasticker · Post #9671 · 03.05.2022 г., 05:00
#CuteTurnip#S1ick3r#dancing#music#animated
@sarconsulurals · Post #2709 · 22.10.2025 г., 08:45
💃🌍У танцевальной группы «Цветы Урала» (школа № 10, Екатеринбург) в репертуаре есть «Танец рудокопов Южно-Африканской Республики» — см. видео! 🎥✨ #Культура#Танцы#Екатеринбург#ЮАР#ЦветыУрала _________________________ 💃🌍 The Urals Flowers dance group (School No. 10, Yekaterinburg) performs the Dance of South African Miners — see the video! 🎥✨ #Culture#Dancing#Yekaterinburg#SouthAfrica
@BarykinaLiubov · Post #1217 · 20.08.2024 г., 19:07
𝙈𝙖𝙨𝙩𝙚𝙧 𝘾𝙡𝙖𝙨𝙨 𝙤𝙛 𝙖𝙣 𝙞𝙣𝙩𝙚𝙧𝙣𝙖𝙩𝙞𝙤𝙣𝙖𝙡 𝙋𝙧o𝙟𝙚𝙘𝙩 🖤 #ArtInSport 𝘕𝘰𝘷𝘰𝘬𝘶𝘻𝘯𝘦𝘵𝘴𝘬 𝘙𝘶𝘴𝘴𝘪𝘢 16.8.24 #LiubovBarykina #InternationalProject #RhythmicGymnastics #dancing #painting