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

Резултати

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

Търсене: #cargarapida

当前筛选 #cargarapida清除筛选

💥OnePlus Nord CE 2 5G - Gray Mirror Experimenta la velocidad y calidad de imagen con este smartphone 5G de última ge ✅OFERTA: 161.43€ ❌ Antes: 359.0€ 💰Ahorras un 55%🔥 Conexión ultrarrápida, fotografías de alta resolución y batería siempre lista pa 👉 Haz tuyos los avances tecnológicos de este invierno #smartphone#camaraia#cargarapida#tecnologia#rebajas 🛰️Oferta publicada en Tecnología

💥Cargador USB para moto XMSJSIY Mantén tus dispositivos cargados en todo momento con este cargador rápido QC 3.0 ✅OFERTA: 12.79€ ❌ Antes: 15.99€ 💰Ahorras un 20%🔥 Carga eficiente y segura mientras conduces, con soporte para espejo retrovisor y 👉 Equipa tu moto para el invierno #rebajas#cargadorusb#cargarapida#soporteespejo#rebajasdeinvierno 🛰️Oferta publicada en Coche y Moto

💥Cargador USB C rápido para iPhone y Android Potencia tu día con carga ultrarrápida ✅OFERTA: 9.99€ ❌ Antes: 19.99€ 💰Ahorras un 50%🔥 Recarga tus dispositivos en tiempo récord, sin esperas 👉 Hazte con el tuyo ahora #cargadorusb#cargarapida#adaptadormovil#tecnologia#ofertas#descuentos#navidad#viral 🛰️Oferta publicada en Tecnología

💥Cargador para Coche PORTENTUM Potencia y velocidad para tus dispositivos en el camino ✅OFERTA: 8.35€ ❌ Antes: 10.99€ 💰Ahorras un 24%🔥 Carga rápida simultánea para múltiples dispositivos, compatible con una amplia g 👉 Hazte con el tuyo y mantén tus dispositivos siempre listos #rebajas#doblecargadorcoche#cargarapida#accesoriomechero#tecnologia#ofertas#descuentos#invierno 🛰️Oferta publicada en Coche y Moto

💥Cargador USB-C de 30W Belkin con PPS Dale energía a tus dispositivos favoritos esta Navidad ✅OFERTA: 12.9€ ❌ Antes: 24.99€ 💰Ahorras un 48%🔥 Carga rápida y segura para iPhone, Samsung Galaxy, Pixel y más 👉 Haz que tus regalos brillen con este cargador #usb#cargador#cargarapida#tecnologia#navidad#ofertas#iphone#samsung 🛰️Oferta publicada en Tecnología

💥Cargador INIU para Coche Potencia y rapidez para tus dispositivos en tus viajes navideños ✅OFERTA: 8.11€ ❌ Antes: 14.99€ 💰Ahorras un 46%🔥 Carga rápida para múltiples dispositivos simultáneamente 👉 Haz que tus viajes sean más cómodos #cargadorcoche#cargarapida#accesorioscoche#cargadormovil#gadgetscar#tecnologia#navidad#ofertas 🛰️Oferta publicada en Coche y Moto

💥Cargador rápido para coche Lisen USB C 69W Potencia y estilo para tus viajes navideños ✅OFERTA: 7.99€ ❌ Antes: 13.99€ 💰Ahorras un 43%🔥 Carga tus dispositivos de forma rápida y segura mientras conduces 👉 Haz tus viajes más cómodos y conectados #cargadorcoche#cargarapida#regaloparahombre#regaloparamujer#gadgetscoche#navidad#ofertas#tecnologia 🛰️Oferta publicada en Coche y Moto

💥Auriculares Inalámbricos Bluetooth 5.4 Sumérgete en un sonido de alta fidelidad ✅OFERTA: 23.98€ ❌ Antes: 129.99€ 💰Ahorras un 82%🔥 Cancelación de ruido avanzada para una experiencia inmersiva 👉 Hazte con ellos y disfruta de la música navideña #auriculares#bluetooth#cancelacionruido#tecnologia#hifi#ip7#cargarapida#navidad 🛰️Oferta publicada en Tecnología