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 подобни публикации

Търсене: #reuse

当前筛选 #reuse清除筛选
Green Green | Канал

@greengreen_ch · Post #415 · 16.01.2023 г., 15:27

🔠 🔠 🔠 🔠 🔠 🔠В новом году мы с вами еще не виделись, давайте исправлять! У нас есть для вас 3 квеста! 1 - дожить до субботы, 2 и 3 - поволонтёрить на полезных мероприятиях С утра в субботу предлагаем поучаствовать в подготовке компостных ям-траншей и прилегающей территории к последующему приему органики в Ботсаду, а днём в Ковчеге поиграть в сортировку крышечек по цветам на скорость!* И там, и там пригодится помощь 7-10 волонтёров ♻ * Мы вместе собрали очень много крышечек от пластиковых бутылоки теперь хотим сделать из этих крышечек красивую мозаику (#reuse) в одной из армянских школ. Дизайн мозаики разработает известный художник Арман Степанян. Для реализации нам необходимо рассортировать собранные крышечки по цвету Ждем вас 21 января на одном или сразу двух мероприятиях! 🕚 11:00 📍 Ботанический сад, центральный вход, ул. Грачья Ачаряна 🛠 задачи: обрезка кустарников, перенос камней, уборка мусора 🕒 15:00 📍 ресурсный центр Ковчега, ул. Павстоса Бузанда 1/3 🛠 задача: сортировка пластиковых крышечек по цветам Также просимподдержать нас, отправив пожертвование на комфортную сумму сюда ➡️ ➡️ ➡️ 5471280030147752 (Ардшинбанк) IVAN DIVILKOVSKIY 2200700168433976 (Тинькофф)

Hashtags

NEA Singapore

@NEASingapore · Post #711 · 07.12.2023 г., 01:01

As we prepare for Christmas, let's transform and reuse our old decor for a fresh festive look. Instead of buying new decorations, wrapping paper and cards, we can: 🎄 Paint a fresh coat on old ornaments 🎁 Reuse empty food jars or cookie tin cans as gift boxes 📱 Swap Christmas paper cards for heartfelt e-greetings How are you getting creative with upcycling and recycling this Christmas? Share your tips in the comments below. #TowardsZeroWaste#3Rs#Reduce#Reuse#Recycle

NEA Singapore

@NEASingapore · Post #716 · 08.12.2023 г., 04:03

Our 2023 Wrapped is in! 'Bringing Your Reusable Bag for Shopping' is the chart-topping single we all need. From reusable essentials to recycling mastery, we've built an eco-habit playlist that's pure chart green. Top tracks include 'Reusable Bag Groove', 'Recycling Rhythm', and 'Energy-Saving Melody'. Fellow eco-warriors, let’s keep this #SustainableSG chart-topper habit going strong! #TowardsZeroWaste#BYOB#BringYourOwnBag#BringYourOwn#BYO#3Rs#Reduce#Reuse#Recycle#EnergyEfficiency

@Veronica_ecovibes

@veronica_ecovibes · Post #10 · 05.04.2022 г., 13:39

Чаты в телеграме: ⠀ 🌱 «Своп канал Москва» (информация о свопах и фримаркетах) — https://t.me/swapMoscow 🌱 «Медшеринг Москва и МО» (лекарства) — https://t.me/medicinshering 🌱 «Строй Реюз» (строительные материалы) — https://t.me/stroyreuse 🌱 «Гопсвоп чат», «Реюз» (одежда, игрушки, книги, мебель и другое) —https://t.me/gopswap_chat, https://t.me/findandreusechat 🌱 «Фудшеринг Москва все районы» (еда) — https://t.me/sharefoodinmoscow 🌱 «Обмен растениями в Москве и МО» (растения) — https://t.me/rastenia_msk 🍀🍀🍀 ⠀#foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing

@Veronica_ecovibes

@veronica_ecovibes · Post #9 · 05.04.2022 г., 13:37

Как найти Своп и Шеринг группы: ⠀ Группы во ВКонтакте: ⠀ 🍀 «Отдам даром Москва» (обувь, одежда, книги, косметика) — https://vk.com/theap 🍀 «Аптекашеринг Москва» (лекарства) — https://vk.com/aptekasharingmsk 🍀 «Стройшеринг Москва» (строительные материалы) — https://vk.com/stroisharing_msk 🍀 «Фудшеринг» (еда) — https://vk.com/sharingfood 🍀 «Зоошеринг» (вещи для животных) — https://vk.com/zoosharing 🍀 «Плантшеринг» (растения) — https://vk.com/cvetydarom 🍀 «Крафтшеринг Москва» (материалы для творчества и рукоделия) —https://vk.com/craftsharing_moscow ⠀ 🍀🍀🍀 #foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing

@Veronica_ecovibes

@veronica_ecovibes · Post #8 · 05.04.2022 г., 13:33

Что это такое своп и шеринг группы («swap» и “sharing” в переводе с англ. “обмен”) ? ⠀ 🍀это обмен ненужными, но хорошими вещами. Свопы проходят в виде фримаркета: вы приносите ненужную вам вещь, а забирайте нужную или вовсе ничего не забираете. Главный принцип свопа — никаких денег #nomoney 🍀 можно делиться информацией о ненужных вещах и договариваться об обмене в шеринг-группах или чатах в соцсетях. ⠀ ⠀ 🍀🍀🍀 #foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing