TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 6 подобни публикации

Търсене: #vivi

当前筛选 #vivi清除筛选
Airdrop Presents 🗽

@airdrop_presents · Post #2200 · 17.01.2023 г., 17:09

🪂Airdrop ~ VIVI 💲Reward: 200,000 #VIVI 👨‍👨‍👧 Referral: ➕Top 60 referrals will receive $70 in BUSD 💎 Presents Ratings: ⭐️⭐️⭐️ 👑Winners: 1,000 Lucky winners ➡️Airdrop Page For VIVI Click Here 📚 How to Join Airdrop? ↪️ Complete all tasks on the airdrop site ↪️ Submit Bep20 wallet address 📚 How to Join Referral? - User can join referral after make all stepts on Airdrop. ✏️Notes: Make sure to complete all tasks to receive rewards. ℹ️Distribution date: Will be announced by the project team after the end of the airdrop.

Hashtags

#秀人网 模特 1.#杨晨晨 2.#玥儿玥 3.#林星阑 4.#李丽莎 5.#田兮白 6.#江真真 7.#王馨瑶 8.#唐安琪 9.#小蛮妖 10. #雨儿酱 11.#陆萱萱 12. #candy糖糖 13. #阿姣 14. #伊诺 15.#周妍希 16. #周于希 17.#甜仔 18. #鱼子酱 19. #软软 20.#田冰冰 21. #果儿Victoria 22.#郑颖姗 23.#白如雪 24.#娜娜子 25.#美七 26.#晚苏 27.#艾莉 28.#可可芝 29.#小逗逗 30.#阿朱 31.#lucky 32.#清妙 33.#星星baby 34.#袁圆 35.#李若汐 36.#金小依 37.#唐翩翩 38.#奶芙乔乔 39.#蛋蛋宝 40.#心妍小公主 41.#曼柔 42.#李金金 43.#希雅sia 44.#软糖爱喝奶 45.#熊小诺 46.#白洁 47.#周周不吃香菜 48.#柚琪 49.#苏苏阿 50.#抖娘利世 51.#小薯条 52.#潘娇娇 刚 53.#林杉杉 54.#谭小灵 55.#林幼一 56.#徐莉芝 57.#奈汐酱 58.#颜瑜 59.#娜依灵儿 60. #小波多 61.#李雅 62.#易阳 63.#时安安 64.#lucky 65.#摄影师 66.#妲己_Toxic 67.#绮里嘉 68.#金允希 69.#梨霜儿 70.#江淑影 71.#白浅浅 72.#林昔予 73.#黄可#赵惟依 74.#白一含 75.#小热巴 76.#于姬 77.#筱慧 78.#木森vita 79.#奶油猫呀 80.#shelly诗莉吖 81.#楠芝 82.#艾小青 83.#Z杯悠悠 84.#诗诗 85.#月音瞳 86.#葛征 87.#智恩baby 88.#安安 89.#小楠 90.#董顾顾 91.#vivi 92.#娅轩 93.#林美惠子 94.#王瑞儿 95.#王婉悠 96.#甲乙丙我姓丁 97.#娜比 欢迎大家来到秀人网模特专辑频道 预览群都是简短的简单介绍 经过多年的沉淀 花费大量的时间金钱 收集了200多位模特由出道至今 所有作品 电报群很多 都是残差不齐的 在秀人网 模特资源这方面算是比较完整的 由于收集模特视频 需要大量金钱和时间 我也不能太及时更新 要是有你们的支持 我会多花点时间给大家找更多精彩的内容 想要白嫖的看看预览群就好 像看更多精彩内容 可以赞助进群 现在优惠活动价 200 @mtv520b (支付宝口令红包或者 微信支付宝扫码 )进赞助群 (好的模特视频 一个都要200到2k左右 你随便下载一个都值回票价)支持(下载 转发 收藏) 防失恋群 @mm520b