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

Резултати

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

Търсене: #bc

当前筛选 #bc清除筛选

中文名: 86 -不存在的战区- 话数: S1+S2 放送开始: 2021年4月10日 放送星期: 星期六 原作: 安里アサト(電擊文庫 刊) 导演: 石井俊匡 ☺️评分:7.6 推荐 🟢故事简介 为了应对吉亚迪所开发出的完全独立无人战斗兵器“军团”的入侵,其邻国圣格诺利亚共和国开发了无人战斗兵器毁灭之力。但是,无人战斗机只是空有名号,实际是没有被认可为”人“的人们——86——驾驶,被当作道具来使用。 由”86“所组成的部队“先锋战队”的队长少年・辛恩,在只能等待着死亡的令人绝望的战场上为了某个目的而战斗着。在那里,共和国军队的精英・蕾娜就任了新任指挥管制官。她小时候有着被86所救助过的经历,因此想把被作为“人形猪”而遭到轻视的他们作为正常人类来对待。 只不过是为了战斗而被作为道具使用的少年以及被寄予了未来期望的精英才女,本不应当有所交集的两人,在激烈的战斗中看到了未来—— 🌐OneDrive:点击下载 😱百度网盘:点击下载 🥶阿里4K:https://www.alipan.com/s/3SshEPTT2D7 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#B#BC 标签:#轻改#战争#科幻

中文名: 悲惨世界 少女柯塞特 话数: 52 放送开始: 2007年1月7日 放送星期: 星期日 原作: Victor Hugo 导演: 桜井弘明 ☺️评分:7.6 力荐 🟢故事简介 《レ・ミゼラブル》也就是法文的《Les Miserables》,没错,这部动画就是众人熟知的世界名著《悲惨世界》。虽然动画官网刚刚开通,但从这部动画的副标题《少女柯赛特》我们可以推论这部动画的主角将是原作中妓女芳汀的私生女——不幸的柯赛特。此前翡翠台曾在星期六播出。 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#B#BC 标签:#世界名著计划#治愈#少女

Venture Village Wall 🦄

@venturevillagewall · Post #4149 · 14.02.2025 г., 13:00

Bybit Removed from French Blacklist Bybit has been officially delisted from the French Financial Markets Authority (AMF) blacklist following over two years of collaboration with regulators. CEO Ben Zhou aims to secure a MiCA license next. Read more here. #Bybit#AMF#Crypto#Finance#Regulation#MiCA#News#Exchange#BC

#一套系统=1000个账号 让精准客户全网都能找到你 💎💎💎💎💎💎💎 1、指纹浏览器底层,每个都是独立的环境,ip干净账号防封 2、一套软件可以操作1000个账号,矩阵自动化发布 3、云端服务器,对电脑无要求,可以同时操作1000个账号自动化运行 快速变现:👍#交友🔠#网赚💸#刷单👍#跨境商城😀#BC😀#币圈🫡#仿牌🔄#娱乐平台😀#游戏💸#海外粉 等行业不限 #Instagram引流#tiktok引流#Facebook引流#WhatsApp引流 👍联系TG:@Yuntuike888

#一套系统=1000个账号 让精准客户全网都能找到你 💎💎💎💎💎💎💎 1、指纹浏览器底层,每个都是独立的环境,ip干净账号防封 2、一套软件可以操作1000个账号,矩阵自动化发布 3、云端服务器,对电脑无要求,可以同时操作1000个账号自动化运行 快速变现:👍#交友🔠#网赚💸#刷单👍#跨境商城😀#BC😀#币圈🫡#仿牌🔄#娱乐平台😀#游戏💸#海外粉 等行业不限 #Instagram引流#tiktok引流#Facebook引流#WhatsApp引流 👍联系TG:@Yuntuike888

#一套系统=1000个账号 让精准客户全网都能找到你 💎💎💎💎💎💎💎 1、指纹浏览器底层,每个都是独立的环境,ip干净账号防封 2、一套软件可以操作1000个账号,矩阵自动化发布 3、云端服务器,对电脑无要求,可以同时操作1000个账号自动化运行 快速变现:👍#交友🔠#网赚💸#刷单👍#跨境商城😀#BC😀#币圈🫡#仿牌🔄#娱乐平台😀#游戏💸#海外粉 等行业不限 #Instagram引流#tiktok引流#Facebook引流#WhatsApp引流 👍联系TG:@Yuntuike888

Telegram 公眾索引頻道

@TG_index_channel · Post #1176 · 04.04.2020 г., 12:13

標題:Vancouver Talk 溫哥華討論板 類別:#公開#群組#繁中 分類:#閒聊#臺灣#社群#旅遊#地區 標籤:#WH#British#Canada#YVR#BC#溫哥華#不列顛哥倫比亞省#Vancouver#Columbia#WorkingHoliday 簡介:VT 陪伴每個臺灣交集溫哥華的人們共度有感每一刻,在這裡討論、分享,聊聊溫城酸甜苦辣