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

Резултати

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

Търсене: #vaxee

当前筛选 #vaxee清除筛选

👑VAXEE обновили свою самую популярную модель 👑 — Для NP-01S это уже третий апдейт и вот основные изменения: Донгл и качество связи. Это главное новшество. Донгл полностью переработали: теперь все кнопки управления перенесены на него. Кнопок стало даже больше, так что настраивать мышку можно без открытия софта. В промо-ролике VAXEE сделали акцент на качестве соединения. Внутри донгла стоит массивная антенна, которой не страшны помехи, даже если поставить устройство вплотную к роутеру. По ощущениям, такой донгл весит не меньше самой мышки. Конструкция мышки. Из-за того, что кнопки управления теперь на донгле, дно мышки изменилось: там остался только тумблер включения. Благодаря свободному месту сенсор удалось сместить выше и центрировать. Также увеличилась площадь глайдов. Сама форма корпуса осталась прежней. Вес и начинка. Вес остался на уровне 57 грамм, а некоторые пользователи отмечают прибавку в 1 грамм - вероятно, конструкцию усилили для большей жесткости. Из приятного: VAXEE наконец-то заменили энкодер на пылезащищенный TTC Gold. Решение для рынка не новое, но для этой модели долгожданное. Сейчас доступны три цвета 🔘синий/ 🔘розовый/🟢зеленый 👉 Под заказ на ReShip.pro САЙТ • МЕНЕДЖЕР • #VAXEE

Hashtags

🅰️Новинка от VAXEE — NP-01S Ergo Уже в пути к нам в Мятном и Белом цветах ▫️Сенсор PAW3950 ▫️Донгл 4к в комплекте ▫️Переключатели Transparent Blue Shell Pink Dot ▫️Вес 59 грамм — Форма стала смешанной между NP-01S и E1, оптимизирована под Ладонный/Когтевой хваты 💎Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

⏰ Возрождение NINJUTSO SORA 4K вместе с VAXEE 🔴Сенсор 3950 🔴Донгл 4к в комплекте 🔴Оптические переключатели Omron 🔴Вес 59 грамм — Таже форма, но в новом обличии, подойдет под Когтевой хват для Средних/Больших ладоней ⚡️Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

🫠Расскажем об еще одной модели VAXEE из наличия - ZYGENNP-01S V2 🍀 Сенсор PAW3950 🍀Донгл 4к в комплекте 🍀 Переключатели Black Shell Pink Dot 🍀Вес 56 грамм — Мышка средних размеров с эргономичной длинной формой, горбом смещенным назад и плавным переходом горба на клавиши, подойдет под Когтевой/Ладонный хваты 💳Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

😇Продолжаем знакомить вас с продукцией VAXEE — на очереди модель XE-S 🟡Сенсор PAW3950 🟡Донгл 4к в комплекте 🟡Переключатели Black Shell Pink Dot 🟡Вес 60 грамм — Уменьшенная версия обычной XE - отлично подойдёт для пользователей с маленькой рукой или тем, кто предпочитает лёгкий хват и высокую подвижность 🟨Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

☀️Летняя коллекция ковров VAXEE PA Summer25 уже в наличии во всех цветах! 🟡Размер 470 на 390 миллиметров 🔴Средняя скорость скольжения 🔘Точное, стабильное скольжение 🔘Твердость подложки Soft 💵Цена: 5.490₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

👑Роскошь/Мощь/Элегантность — VAXEEE1 одна из ключевых моделей в линейке - Сенсор PAW3950 - Донгл 4к в комплекте - Переключатели Black Shell Blue Dot - Вес 60 грамм — Эргономичная форма средних размеров под Ладонный/Когтевой хват 💳Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

👀Пополнение ассортимента мышками VAXEE! В наличии несколько моделей в разных цветах: 🔴Vaxee E-1 🟡Vaxee XE-S 🟣Vaxee NP-01Sv2 🔘Vaxee Ninjutso Sora 4k 🎮Подробнее смотрите на нашем сайте ReShip.pro КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

🧑‍💻VAXEE Sora 4K — обновлённая Ninjutso Sora в сотрудничестве с VAXEE. Совершенно новый дизайн, улучшенные характеристики и широкая палитра свежих цветов 🔘Сенсор 3950 🔘Донгл 4к в комплекте 🔘Оптические переключатели Omron 🔘Вес 59 грамм 💵 Цена: 17.990₽ КАТАЛОГ • МЕНЕДЖЕР • #VAXEE

Hashtags

Добавили #ТЕГИ для всех постов! Теперь искать и ориентироваться стало удобнее 🔞 #КИБЕРСОРТ • #ПОДБОРКА • #ОБНОВЛЕНИЯ • #СЕТАПЫ • #ОТЗЫВЫ • #PROAIM • #UNIUS • #PULSAR • #EVOLAST • #LOGITECH • #XRAYPAD • #ARTISAN • #MADLIONS • #NINJUTSO • #ZOWIE • #WAIZOWL • #AIMSTAR • #LAMZU • #IQUNIX • #TEEVOLUTION • #WLMOUSE • #MGG • #GLSSWRKS • #TEKKUSAI • #HYPERX • #GWOLVES • #MIDORI • #PWNAGE • #IYX • #VAXEE • #STEELSERIES • #NUPHY • #UNIUS • #WALLHACK • #IPI • #ORBITAL • #MCHOSE • #UWS • #AULA • #ATK • #EGG • #SPYRE • #LUMINKEY • #SIMGOT • #MELGEEK • #FRACTAL • #SCYROX • #EPOMAKER • #WOOTING • #ZAOPIN • #CIDOO • #JAMESDONKEY • #ARBITER — Список будет расти, и именно вы можете повлиять на то, что появится в продаже — пишите свои пожелания 🙂 КАТАЛОГ • МЕНЕДЖЕР • #ОБНОВЛЕНИЯ