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

Търсене: #luxurysuv

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

@revheadcrypto · Post #127 · 19.07.2024 г., 09:40

💡The Cadillac Escalade has been updated in the USA ✨ The Escalade features new lighting technology, an emblem with backlight, and in the V-Series and Premium Luxury Platinum trims, it also has ambient lighting around the grille. 24-inch wheels are now available as an option. ♨️ The interior boasts a 55-inch display across almost the entire width of the front panel. Optionally available are extremely comfortable second-row seats with massage, dual wireless chargers, and two 12.6-inch screens. 🚘 All trims, except the base Luxury, come with adaptive Magnetic Ride Control 4.0 suspension and a heads-up display. The signature Super Cruise "autopilot" feature is now included in the base model at no extra charge. ⚙️ Under the hood, the 6.2-liter V8 with 420 hp and the 682-hp supercharged V8 of the same volume are retained. Sales will start at the end of the year. #CadillacEscalade#LuxurySUV#Upgrade#Auto

Auto Life

@revheadcrypto · Post #411 · 31.08.2024 г., 10:47

🚗✨Electric Range Rover Unveiled!✨🚗 📸 Check out the latest photos of the all-electric Range Rover without camouflage! 🔍Design: It features only subtle design differences from its petrol counterpart. 📅Pre-orders: While specifications are still under wraps, the demand is skyrocketing! Over 41,000 people are already on the waiting list! Are you excited about this new electric beauty? 💚⚡ #ElectricRangeRover#SustainableDriving#LuxurySUV#CarEnthusiasts#Auto

Auto Life

@revheadcrypto · Post #324 · 16.08.2024 г., 19:05

🌟🚗 Introducing the Genesis GV90! 🚗🌟 Get ready for the flagship electric crossover from Genesis, set to debut this October! 🎉✨ Built on the innovative eM platform, an evolution of the E-GMP architecture, the GV90 promises an impressive 113 kWh battery that offers a remarkable range of up to 800 km!🔋🌍 With its luxurious design and advanced features, the GV90 will compete with premium full-size SUVs like the Range Rover. 🏞️👑🚀 #GenesisGV90#ElectricCrossover#LuxurySUV#eMPlatform#Auto🌐🔋✨

Auto Life

@revheadcrypto · Post #259 · 07.08.2024 г., 11:59

🚗✨ Exciting news from BMW! The new extended X3 is here, specially designed for the Chinese market! 🇨🇳 With a wheelbase stretched by 110 mm to an impressive 2975 mm (just like the European BMW X5), the overall length now reaches 4865 mm! 📏 Available in two versions: 25L and 30L, both equipped with an 8-speed automatic transmission and a powerful 2.0L turbo engine. Choose between 190 hp & 310 Nm or 258 hp & 400 Nm! 💪🔥 #BMW#X3#LuxurySUV#China#CarNews#Automotive#Innovation#Auto🚘🌟

Auto Life

@revheadcrypto · Post #423 · 02.09.2024 г., 13:52

▎🚘 Introducing the All-New Audi Q5! The next generation of the Q5 has arrived, now built on the PPC (Premium Platform Combustion), shared with the recently unveiled Audi A5. The design is completely new, yet resonates with the familiar aesthetic of Audi’s electric models. 🎮Inside the Cabin: Featuring three stunning displays on the central panel, the media system runs on Android OS. The compact gear selector enhances the sleek design, while physical climate control buttons have been eliminated for a more modern feel. ⚡️Power & Performance: In Europe, all Audi Q5 engines will come equipped with the MHEV Plus mild-hybrid system, featuring a 24 hp electric motor and a compact battery. The base versions will offer both petrol and diesel engines with a 2.0-liter capacity, delivering 204 hp (340 Nm) and 204 hp (400 Nm), paired with a seven-speed dual-clutch transmission. The powerful 3.0-liter V6 in the Audi SQ5 boasts an impressive 376 hp and 550 Nm of torque. 🗓️Availability: The new Q5 will hit European markets in Q1 2025, with pre-orders already open, starting from €52,300 to €82,900. ▎🔥 Get ready to experience luxury like never before! #AudiQ5#NewGeneration#LuxurySUV#Audi#Innovation#MHEV#Auto

Auto Life

@revheadcrypto · Post #510 · 20.09.2024 г., 21:41

🚗✨ Exciting news for luxury SUV enthusiasts! The new Range Rover Sport has been stunningly upgraded by Mansory! 🔧 The front bumper features a sleek splitter with stylish end caps and custom air vent overlays. The body kit includes new side skirts and a diffuser that perfectly complements the bespoke exhaust tips. 🔥 The Range Rover Sport SV boasts an alternative hood, unique inserts around the grille, and exclusive wheels available in 23 or 24 inches! 💰 While the price for these upgrades hasn't been disclosed, the demo model is already up for sale! #RangeRoverSport#Mansory#LuxurySUV#CarEnthusiast#CustomCars#AutoDesign#LuxuryLifestyle#Auto