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

Резултати

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

Търсене: #table

当前筛选 #table清除筛选

“Qonunchilikni isloh qilishda olimlar va mutaxassislarning roli: Ilmiy va innovatsion faoliyat bilan shug‘ullanib kelayotgan iqtidorli yoshlarni qo‘llab-quvvatlash” mavzusidagi ilmiy munozara o‘tkazildi 🔎Batafsil 🇬🇧Eng 🇷🇺Ru #GraduateSchool#Round#Table#Project_management Web-site | Telegram | Facebook| Instagram

⭐️【资源名称】: Periodic Table 2023 PRO 元素周期表v4.0.26 41 🤖【适用平台】: #Andoid 🧱【资源介绍】 2023年周期表PRO应用程序是一个全面且用户友好的应用程序,为用户提供了丰富的化学元素信息。 🟢专业版 🟡在线下载:点击下载 📁#安卓软件#Periodic#Table#元素周期表

theBlock

@theBlockClub · Post #52 · 16.11.2021 г., 00:29

巨磅&巨棒更新早知道~ 1️⃣ 大家千呼万唤的 Notion 简单表格,上!线!了!上半年的 Instagram 草图剧透终于变成成品啦!你用上了吗?不管有没有用上,欢迎查看功能介绍(文:@niinjoy)🏓 2️⃣ 新晋三位 Notion 大使 Reynard、Craig & Margaret,好耶!🎉 3️⃣ 十月至今,我们频道已经一个月啦,感谢大家的支持!今起,“用爱发电俱乐部”正式更名为 theBlock,旨在为大家带来更多更及时的 Notion 资讯!也欢迎大家访问我们的主页: https://theblock.notion.site🧱 🏷#simpletable#table#表格#简单表格#theBlock 🔥 频道:@theBlockClub

VIP_影视分享

@WangZhuanZhan · Post #34228 · 21.10.2024 г., 06:56

H-h还h是s觉j得d你n最z好h - 还是觉得你最好 飯戲攻心 (2022) (粤语) 直达链接:https://pan.quark.cn/s/dc984e84d9c9 #还是觉得你最好#飯戲攻心 #饭戏攻心#Table for Six 链接:https://link3.cc/sf_com #电影#喜剧#香港#2022年代

VIP_影视分享

@WangZhuanZhan · Post #34227 · 21.10.2024 г., 06:40

H-h还h是s觉j得d你n最z好h- 还是觉得你最好 飯戲攻心 (2022) (普通话) 直达链接:https://pan.quark.cn/s/3ebdd5cdd2a0 #还是觉得你最好#飯戲攻心 #饭戏攻心#Table for Six 链接:https://link3.cc/sf_com #电影#喜剧#香港#2022年代

VIP_影视分享

@wangzhuanzhan · Post #32189 · 03.09.2024 г., 06:11

H-h还h是s觉j得d你n最z好h2 - 还是觉得你最好2 飯戲攻心2 (2024)(普通话) 直达链接:https://pan.quark.cn/s/c70b960b8ff3 #还是觉得你最好2#飯戲攻心2 #饭戏攻心2#Table for Six 2 链接:https://link3.cc/sf_com #电影#喜剧#内地#2024年代

theBlock

@theBlockClub · Post #54 · 18.11.2021 г., 03:05

🎨Notion 教程:给简单表格添加背景颜色 1. 创建一个简单表格,并获取它的块地址(block URL,如果你不知道如何获取,请参考下文详情)。 2. 粘贴到 Notion 页面并选择 Link to page 后,你会看到一个 Untitled 页面。 3. 打开这个 Untitled 页面,增加一个空行并修改它的背景色。 4. 回到简单表格的页面,你会发现第一行有了背景色!重复第三步,给更多的行添加背景色吧! 🔗详情及注意事项 🔮 灵感来源:Ben Smith 🏷#tutorial#simpletable#table#background#教程#表格#简单表格#背景 🧱 频道:@theBlockClub 🆕 最近更新:全新模板库上线

12
ПредишнаСтр. 1 от 2Следваща