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

Резултати

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

Търсене: #map

当前筛选 #map清除筛选
Data Stitches

@data_stitches · Post #155 · 30.10.2021 г., 23:42

简·雅各布斯在天空中 - 研究人员通过 8,400 张卫星图像,找出意大利六个城市中最具活力的街区, 简-雅各布斯在《美国大城市的死与生》中指出街道活力的四个条件: 土地用途的多样性、小块面积、人口集中和经济活动的混合,为了衡量这四个指标研究人员通过卫星数据监测城市屋顶颜色,将城市解构为DNA条纹以及将DNA填充为点阵图来比较六个城市的活力值 #map

Hashtags

Data Stitches

@data_stitches · Post #144 · 17.10.2021 г., 21:42

Cartogram of Pandora Papers - by Nicolas Lambert 将国家面积与潘多拉文件中披露的受益人的数量相对应,投射到球体上,就会画出一个变形扭曲的世界 #map

Hashtags

djangoproject

@djangoproject · Post #89 · 11.07.2016 г., 11:56

https://docs.python.org/3/library/functions.html#map #map(function, iterable, ...) Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. For cases where the function inputs are already arranged into argument tuples, see itertools.starmap().

Hashtags

不求甚解

@Fakeye · Post #3 · 01.11.2019 г., 02:10

#Map#APP 高德地图的实时交通做的不错,感觉可以增加一些细节的体验。比如,如果检测到距离查询的公车站多少距离之后,直接计算出下一班车来的时间需要提前多长时间到车站,或者直接显示现在出发去当前车站赶不赶的上之类的结果。目前步行去车站和车多长时间到站其实是没有任何关联的两个值而已。

Hashtags

Red Nile

@rednile12 · Post #11098 · 28.02.2026 г., 11:58

Fwd from @ 📝IRGC Generals Under a School Desk📝 Despite claims of strikes on nuclear facilities and key figures in Iran, most of the casualties so far are children. At one girls' school, 24 people were killed, with 45sufferingvariousinjuries. There is also fresh footage of strikes on streets: along with military targets in Tehran itself, neighboring houses are being destroyed. Iranian television reports dozens of civilian deaths across the country, and there is little reason to doubt this. During the 12-day war, the total death toll in Iran exceeded one thousand people, with up to 4,870 wounded according to various sources. Iranian authorities then confirmed the deaths of 935 people, including 38 children and 132 women. However, just as the international community swallowed the Gazasector and past heavy casualties in Iran without notice, it will not notice this either. But for those affected in the Gulf states, of which there are (so far?) almost none - they will also try to hold the Tehran authorities accountable. 📍Online maps available by subscription at map.rybar.ru #map#Iran#USA 🧨@rybar_mena — on Middle Eastern chaos with love 💸Support usOriginal msg

Language Trivia 🤔

@languagetrivia · Post #344 · 18.11.2024 г., 09:24

What is the name of this West African country, which has English as its official language despite being surrounded by three countries where French has official or working language status? A) Ghana B) The Gambia C) Liberia D) Sierra Leone Follow 🌍@languagetrivia to learn more about languages and geography #map#guess_the_country

123•••89
ПредишнаСтр. 1 от 9Следваща