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

Резултати

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

Търсене: #pwa

当前筛选 #pwa清除筛选
AprilNEA's Notebook

@AprilNEALab · Post #24 · 05.02.2024 г., 09:53

给 #PWA 应用换上更符合系统风格的图标。 避免使用命令行的简单方法: 1. 在应用上右键 Get Info. 2. 在左上角图标的位置粘贴新的图标。

Hashtags

403 Forbidden

@forbid_403 · Post #275 · 21.02.2024 г., 05:47

Apple 对 EU 设备在新 iOS 停用添加 PWA 网页应用到桌面的功能;称出于安全考虑。 - 在 iOS 系统中,用户通常可以添加 PWA (Progressive Web Apps) 到桌面,使这些 PWA 的用户可在一定程度上享受桌面 App 的体验。 - 从 iOS 17.4 的第二个 beta 版本起,研究者发现欧盟设备的 PWA 能力受到限制:添加到桌面的 PWA 图标退化为浏览器页面标签;PWA 的通知、无浏览器边框及长期本地存储等特性也受到限制。 - Apple 解释称 [1],允许第三方浏览器引擎的要求带来了复杂的安全和隐私顾虑;考虑到欧盟 DMA 规定的要求及 PWA 的低使用率,Apple 移除了 PWA 桌面特性。 1. developer.apple.com/~ 2. techcrunch.com/~ #Apple#PWA#EU

ALL About RSS

@AboutRss · Post #1174 · 21.02.2022 г., 01:00

线上 RSS 阅读器 Qi Reader 发布 去年夏天 #QiReader 作者告诉我正在开发一款 #RSS阅读器 ,最近终于上线: https://www.qireader.com/ 主要功能: 🔸#PWA 支持 🔸稍后阅读 🔸文章标签 🔸全文 🔸键盘快捷键 🔸OPML 导入和导出 🔸内置英汉词典 🔸免费版可订阅 30 个源 发现于 https://twitter.com/qireaderapp/status/1494590631817011200

ALL About RSS

@AboutRss · Post #1153 · 31.12.2021 г., 01:00

#nosh : 一款在线的三栏 RSS 阅读器 项目 #开源 、免费,支持深色模式,支持 #PWA ,致敬 web 2.0 时代的 #RSS阅读器。2020年3月面世,持续更新中。 https://nosh.rocks 发现于作者推文 https://twitter.com/_mikefrancis/status/1450773511472025610

EventPlatform

@eventplatform · Post #137 · 31.05.2018 г., 06:16

Мобильное приложение конференции с системой назначения встреч. Работает быстро, обновляется моментально, устанавливать не надо! #pwa#ракета#eventadvisor#positive#engineofemotions

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