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

Резултати

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

Търсене: #carlaunch

当前筛选 #carlaunch清除筛选
Auto Life

@revheadcrypto · Post #378 · 23.08.2024 г., 22:34

🚗✨ Exciting news! The updated Volvo XC90 is set to be unveiled on September 4th! 🌟 🔋 This refreshed model will feature a hybrid powertrain, ensuring it remains relevant until the brand transitions fully to electric vehicles by the end of the decade. ⚡️ Stay tuned for more updates! #VolvoXC90#HybridPower#SustainableDriving#CarLaunch#Auto

Auto Life

@revheadcrypto · Post #212 · 01.08.2024 г., 07:42

🚗Exciting news for BMW fans! The new BMW M5 Touring will be unveiled on August 15 at Pebble Beach. This innovative model will hit the US market in spring 2025, marking the first official M5 Touring available in the country. Stay tuned for more updates! #BMW#M5Touring#PebbleBeach#CarLaunch#Auto

Auto Life

@revheadcrypto · Post #294 · 10.08.2024 г., 07:44

🚗✨Introducing the Updated Kia K8 Sedan!🇰🇷 The all-new K8 features a completely redesigned front and a simplified interior architecture, enhancing both style and comfort. The rear has also been refreshed with the removal of fake exhaust tips. 🔥 Under the hood, South Korean buyers can choose from: - 🛢️2.5L and 3.5L gasoline engines (198 or 300 hp) - 🌱Hybrid powertrain based on a 1.6L engine delivering 230 hp - 🔄 The 3.5L engine also offers a bi-fuel version with 240 hp and optional all-wheel drive! 💰 Starting price: 37.36 million won ( $27,000). #KiaK8#Sedan#CarLaunch#KiaMotors#AutomotiveInnovation#LuxuryCars#Auto🚘🌟

Auto Life

@revheadcrypto · Post #379 · 24.08.2024 г., 17:26

🚗✨ Skoda Unveils the "Kulaak" in India! 🇮🇳 Introducing the new Kylaq crossover, measuring under 4 meters, set to hit the market in 2025! The name was chosen through a public vote and translates to "crystal" from Sanskrit. 💎 🔧 Engine Specs: - 🏎️ 1.0 TSI engine with 115 hp - 🔄 Available with a manual or automatic transmission - 🚙 Front-wheel drive only #SkodaKylaq#Crossover#CarLaunch#India#Innovation#Skoda#Automotive#Auto

Auto Life

@revheadcrypto · Post #545 · 02.10.2024 г., 09:34

🚘✨Introducing the Skoda Elroq Electric Crossover!✨🚘 The new Skoda Elroq is slightly larger than the Karoq, measuring 4488x1884x1625 mm with a wheelbase of 2765 mm. With a ground clearance of 186 mm, it’s ready for any adventure! 🌍💪 ⚡️Performance Features: - Available with electric motors producing 170, 204, or 286 hp. - The top all-wheel-drive version boasts an impressive 299 hp! 🚀 - Range: From 375 to 560 km on a single charge! 🔋🌿 ✅Simply Clever Innovations: - Tire tread depth gauge integrated into the ice scraper! ❄️ - Elastic net under the luggage shelf for convenient charging cable storage! 📦🔌 ℹ️ The petrol Karoq starts at €33,100 in Germany, while the Elroq will be just €760 more! 💰🇩🇪 #SkodaElroq#ElectricCrossover#SimplyClever#SustainableDriving#CarLaunch#Auto#Innovation#Skoda

Auto Life

@revheadcrypto · Post #213 · 01.08.2024 г., 07:59

Audi has officially unveiled the new generation A6! Now, this index belongs to electric vehicles — a liftback and an estate version. 🚘 The exterior of the new models is almost entirely copied from the namesake concepts, while the interior is inspired by the Q6 e-tron crossover. 🚢 The base version will be the rear-wheel drive A6 e-tron performance with a single motor producing 367 hp. For the S6, there will be two motors delivering 550 hp and accelerating from 0 to 100 km/h in just 3.9 seconds, with a top speed of 240 km/h. 🔋 In both cases, a 100 kWh battery is provided, allowing the single-motor versions to travel up to 756 km, while the all-wheel drive versions can reach up to 675 km. ℹ️ Pre-orders will start in September, with prices starting at €75,600 for the standard version and €99,500 for the S6. #Audi#A6#ElectricVehicles#ETRON#CarLaunch#LuxuryCars#Innovation#S6#Auto