Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
20 лет назад автопром старался дать покупателю максимум автомобиля, а сейчас набирает силу тренд "обосновать минимум". По крайней мере в Европе.
Гендир FIATвысказал мнение, что автопром удорожают системы безопасности, которые были бы не нужны, если бы машины были медленнее и меньше.
Выход - ограничить скорость машин на уровне железа, до разрешенной законом, - мощные моторы не нужны. Датчики, камеры, системы распознавания знаков - тоже в топку. Дорожает из-за них.
Мы знаем это давным-давно, а до европейцев только начинает доходить.
Это правильно - 👍
Но не весело - 👎
#fiat
Милая яркая машина для девушки - FIAT 500 II. Не только средство передвижения, но и аксессуар, дополняющий образ. Кусочек Милана, Рима, Турина и Вероны.
2021 год выпуска, пробег 51 тыс. км. Двигатель бензиновый, 1 л, на 70 лс, передний привод. Машина небольшая и несложная, но стиля столько, что все будут оборачиваться. Любителям итальянского дизайна строго рекомендовано, за него машина собрала кучу премий и наград.
Цена - 1,5 млн руб.
Подробности у Кирилла @KirStar96
#fiat
Недавно мы скептически высказались о FIAT 500, мол медленный, маленький и дорогой.
В комментариях писали, что машина хороша для своих целей. Действительно она неплохо продается, в 2023 продано больше 170 тыс штук.
Машина надежная и безопасная. По рекламному ролику 👆видно, что автомобиль готов защитить своего владельца от чего угодно, даже от женского гнева.
Берем — 🤝
Все равно нет — 👎
#fiat
Мы капризничаем по поводу цены и технических характеристик отечественных машин. Но европейцы за такие деньги делают тоже самое.
Например новый гибридный FIAT 500. Это мягкий гибрид, на электричестве машина не едет, оно только помогает (незаметно) при разгоне.
У машины за 17+ тыс евро (1,66 млн руб) механическая коробка и разгон до сотни за 14 сек. Кажется, её нет смысла покупать даже с учетом внешности.
#fiat
Пляжный автомобильчик 🚘 за 53 тысячи евро
🇮🇹 Переделкой Fiat Topolino займётся ателье с вековой историей — Carrozzeria Garavini из Турина.
🏖 Проект вдохновлён островом Капри и стилем dolce vita. Крыша 8-сильного микрокара из металлической стала парусиновой, исчезли двери, а колёса прикрыли колпаками. Задняя часть кузова внутри отделана деревом, а части кресел можно использовать в качестве пляжных подушек.
💸 Всего планируют сделать 10 экземпляров, переделка обойдётся в 45 тысяч евро без учёта цены машины — это в 6 раз дороже исходной модели.
@avtoNovosti
#Fiat#юмор
The most powerful and fastest production 🚘 has been unveiled
📆 In 2007, Abarth was re-established as an independent division with the creation of the current company Abarth & CSpA, 100% controlled by Fiat Group Automobiles SpA.
🐎 The new FIAT Abarth 600e Scorpionissima features a 280-horsepower electric powertrain.
💶 A total of 1,949 electric cars will be produced (in honor of the year of Abarth's foundation). Cost from €48,950.
⚡ Acceleration to 100 km/h – 5.85 seconds. Maximum speed – 200 km/h. The 54 kWh battery will last for 334 kilometers.
🔎 The suspension is also improved, a self-locking differential Torsen and Alcon brakes with a diameter of 380 mm are installed. The special version of Scorpionissima is characterized by black decor, sports seats, and leather and alcantara are used in the trim.
@CarsNews
#FIAT#Abarth#EV
Компания Fiat планирует в ближайшем будущем выпускать новый пикап Grande Panda, который, по сообщениям итальянских СМИ, будет производить на заводе в сербском городе Крагуеваце.
Официальное подтверждение мы получим 21 мая, когда глава Stellantis, Антонио Филоса, представит новый стратегический план автомобильной группы.
Grande Panda Pickup должен появиться в 2028 году. Дизайн будет выполнен в новом фирменном стиле марки. Фары и задние фонари будут состоять из «квадратных пикселей», создавая современный технологичный вид. Также предусмотрен высокий клиренс, защитный пластиковый обвес и рейлинги.
#Fiat#авто#Сербия#Serbia
@NewsSerbia
Представлен самый мощный и самый быстрый серийный 🚘
📆 В 2007 году Abarth был восстановлен как независимое подразделение с созданием нынешней компании Abarth&CSpA, на 100% контролируемой Fiat Group Automobiles SpA.
🐎 Новый FIAT Abarth 600e Scorpionissima оснащён 280-сильной электрической установкой.
💶 Всего будет выпущено 1949 электромобилей (в честь года основания Abarth). Стоимость от €48 950.
⚡ Разгон до 100 км/ч – за 5,85 секунды. Максимальная скорость – 200 км/ч. Аккумулятора ёмкостью 54 кВт-ч хватает на 334 километра.
🔎 Также улучшена подвеска, установлен самоблокирующийся дифференциал Torsen и тормоза Alcon диаметром 380 мм. Специальная версия Scorpionissima отличается чёрным декором, спортивными сиденьями, а в отделке используются кожа и алькантара.
@avtoNovosti
#FIAT#Abarth#электрокар
Тільки що сталася ДТП біля ТРЦ "Україна": #Fiat#Doblo, д.н.з. #АІ0720СН, та трамвай 18 маршруту. Трамваї 1, 3, 18 та 15 перестануть ходить на деякий час. Тримайтеся :-)
Фото: Kocc Kazymko
FIAT В ЛИЗИНГ
▫️Практичность, оригинальность и модификация внутренней компоновки, высоты, колесной базы и конструкций задних и боковых дверей делают фургоны Fiat Ducato одним из наиболее функциональных коммерческих автомобилей.
▫️Коммерческие фургоны Fiat Ducato, оснащаются дизельным силовым агрегатом MultiJet нового поколения, которые располагают инновационной технологией Gear ShiftIndicator, обеспечивающей оптимизацию расхода топливной массы и снижение выбросов отработанных продуктов.
▫️Сегодня состоялась отгрузка именно такого, ультрасовременного фургона Fiat Ducato, Лизингополучателю.
▫️ЛК «Директ Лизинг» предоставила Fiat Ducato в лизинг на удобных условиях для Лизингополучателя.
▫️Аванс - 20%.
▫️Срок лизинга - 36 месяцев.
#ДиректЛизинг
#директлизинг
#лизинг
#leasing#fiat#fiatducato#Москва #2019
🚛 Осуществили поставку грузового фургона Fiat Ducato!
🎯 Это один из самых популярных коммерческих фургонов в Европе, который пользуется большим спросом и в России. Гамма моторов Fiat Ducato характеризуется существенной экономией топлива. А сам автомобиль отличается надежностью конструкции, хорошими техническими параметрами и экономичностью.
Особое внимание в Fiat Ducato уделено эргономике и безопасности: системы мониторинга слепых зон, полного контроля за торможением и удержания автомобиля в полосе движения, практически как у Мерседеса🔝
🎰 Fiat Ducato - идеальное решение для тех перевозчиков, которым необходимо заезжать в центры крупных городов. Он неприхотливый и хорошо переносит российскую зиму, т.е. можно рассматривать этот автомобиль как достойную инвестицию. И в своем сегменте Fiat Ducato весьма доступен, не говоря уже о выгодном лизинге.
Оцените все его преимущества с ЛК «ДиректЛизинг»!
☎️ +7 (495) 737-00-99
#лизинг#директлизинг#автолизинг#коммерческийтранспорт#фиат#дукато#fiat#ducato
【TokenPocket Retweeted】
Retweeted TransitFinance : Unlimit Crypto is live🚀! Transit Buy goes global, unlocking infinite crypto possibilities!
🚀#Transit#Buy is now integrated with Unlimit Crypto unlimit_crypto, providing crypto on-ramp support to hundreds of thousands of users globally.
Transit Buy spans the global entry points for #fiat and #cryptocurrency, ensuring #seamless access for you! #Crypto#TransitBuy#UnlimitCrypto
【Details】https://twitter.com/TokenPocket_TP/status/1746088055679934633
【Powered By】Crypto Box