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

Резултати

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

Търсене: #epub

当前筛选 #epub清除筛选
ALL About RSS

@AboutRss · Post #1494 · 01.01.2025 г., 09:32

引阅: 一款支持 EPUB 的 RSS 阅读器 核心功能有三:1. RSS 阅读器,2. 网页收藏夹,3. #EPUB 书籍阅读器。支持 #MacOS#iOS#iPadOS。免费版和订阅制兼具。 https://inread.top/ 发现于 https://x.com/liangwenhao3/status/1854516339920257453 P.S. 2️⃣0️⃣2️⃣5️⃣新年快乐!

探索号

@seeker_rc · Post #20460 · 13.05.2026 г., 13:55

一款基于浏览器的 EPUB 阅读器,带有文本转语音功能 ⦁ 地址: <https://roy2100.github.io/readbook/> ⦁ 代码: <https://github.com/roy2100/readbook> 推荐配合 edge 浏览器,语音比较真实。 预览: <https://imgur.com/a/read-book-0IgRFMr> via V2EX 分享创造 标签: #浏览器#语音#EPUB ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。

LIHAICloud

@lihaicloud · Post #194 · 22.05.2023 г., 09:19

名称:通俗心理学百科合集(套装共18册) 描述:《通俗心理学百科合集(套装共18册)》囊括了多位心理学家的经典理论,通过各种案例与理论,从各个角度帮助读者领略心理学的奥秘,使人们能够充分认识自己,并不断提升自己,从而能有所长进,直至取得最后的成功。 本套书不仅仅是有关哲学或者心理学的知识,它还告诉我们,无论钻研何种事物,都不要抛弃人性,而要借助观察人生现象来搜集素材。心理学既是一门学科,也是一种对待人生的态度。 链接:https://www.aliyundrive.com/s/ugzzLfyJ9UY 📁 大小:15M 🏷 标签:#心理学#电子书#EPUB

探索号

@seeker_rc · Post #20347 · 12.05.2026 г., 10:25

我做了一个 iOS 本地电子书阅读器「StoryBoat / 故舟」,支持 EPUB/TXT/PDF/Kindle 和朗读,送一些 Pro 码换真实反馈 大家好,我刚上架了一个 iOS 阅读器:StoryBoat / 故舟。 App Store: <https://apps.apple.com/cn/app/storyboat/id6761174091> 它不是书城,也不提供书源。主要给已经有本地书和长文档的人用:EPUB 、TXT 、PDF 、Kindle 格式、Markdown 、长文本都可以导入到一个安静的书架里读。 我自己做它的出发点是:很多阅读器要么偏书城,要么 TXT/EPUB/PDF 分散在不同工具里,要么朗读功能比较割裂。我想做一个更专注的本地阅读工具,可以安静阅读,也可以把长文档接上 TTS ... via V2EX 分享创造 标签: #EPUB#TXT#PDF ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。

BotsGram®

@botsgram_cu · Post #5168 · 01.02.2025 г., 05:51

‼️Les informamos que el bot de la biblioteca secreta se ha movido a: https://t.me/BibliotecaSecretaTATABot Idioma: Español #libros#epub#mobi (Visto en @BotsGram_Cu)

BotsGram®

@botsgram_cu · Post #5126 · 17.01.2025 г., 02:44

‼️Les informamos que el bot de la biblioteca secreta se ha movido a: https://t.me/BibliotecaSecretaTGHABot Idioma: Español #libros#epub#mobi (Visto en @BotsGram_Cu)

BotsGram®

@botsgram_cu · Post #4982 · 19.04.2024 г., 12:36

Les informamos que el bot de la biblioteca secreta se ha movido a: https://t.me/BibliotecaSecreta202Bot Idioma: Inglés, Español, Catalán #libros#epub#mobi (Visto en @BotsGram_Cu)

BotsGram®

@botsgram_cu · Post #4968 · 05.04.2024 г., 12:45

Les informamos que el bot de la biblioteca secreta se ha movido a: @BibliotecaSecreta6147Bot @BibliotecaSecretaTERMBot @BibliotecaSecretaKUJWBot Idioma: Inglés, Español, Catalán #libros#epub#mobi (Visto en @BotsGram_Cu)

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