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

Резултати

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

Търсене: #svm

当前筛选 #svm清除筛选
TokenPocket

@tokenpocket_channel · Post #1569 · 13.03.2025 г., 11:39

🆕We just released TokenPocket’s New Version on Chrome. 🔺2.0.0🔺 🔵The TokenPocket extension wallet has been fully upgraded. 🔵Support the Solana network. 🔵Support the #SVM protocol. Add TokenPocket to your Chrome. 👉https://extension.tokenpocket.pro

Hashtags

TokenPocket

@tokenpocket_channel · Post #1528 · 09.01.2025 г., 02:31

🆕We released TokenPocket's new version on Android. 🔺2.4.1🔺 🔵Support #SVM protocols. 🔵Upgrade Reown WalletKit SDK. 🔵Improve the user experience on the TON network. 🔵Improve the user experience on the Trade page. 🔵Optimize the watch wallet functionality. You can upgrade your #TokenPocket via Google Play or the official website. 🔗https://tokenpocket.pro

⚡️Орбаново упориште: У Србији велика мобилизација Мађара са правом гласа за предстојеће изборе у Мађарској РИА Новости: У Србији право гласа на парламентарним изборима у Мађарској 12. априла има око 83.000 Мађара; гласање поштом је већ почело, што показује је Србија веома важна спољна електорална база за Будимпешту. Председник СВМ Балинт Пастор у изјави за руски медиј наводи да око 83.000 лица у Србији има српско и мађарско држављанство и право гласа на изборима у Мађарској 12. априла; гласање дијаспоре без пријављеног пребивалишта у Мађарској већ је почело поштом. ** Како наводи, већина бирача са двојним држављанством ових дана већ гласа и попуњене гласачке листиће може да достави Генералном конзулату Мађарске у Суботици, који слови за кључно логистичко чвориште мађарског изборног процеса у Србији. → Линк: /t.me/borbeni_efektivi → Извор: /t.me/borbeni_efektivi 🪖#Србија〣#Мађарска〣#Војводина〣#избори〣#Балинт_Пастор〣#SVM〣#пошта〣#април_2026 🇷🇸https://t.me/borbeni_efektivi

Venture Village Wall 🦄

@venturevillagewall · Post #3810 · 07.01.2025 г., 10:00

New Contracts and Crypto Predictions 🎉 Binance Futures launches COOKIEUSDT, ALCHUSDT, and SWARMSUSDT contracts with leverage up to 75x. Earlier, these coins appeared on Binance Alpha. 🔮 Crypto expert Arthur Hayes predicts a peak in the crypto market by March, fueled by over $600 billion in liquidity influx from the U.S. Fed. While he encourages traders to take risks, he warns of potential corrections by April due to tax implications and tightening liquidity. 🛠️ Backpack acquires FTX EU for $32.7 million, aiming to be the only regulated perpetual futures provider in Europe, set to launch in Q1 2025. For further insights, check the linked sources below: - Binance Futures announcement: Link - Backpack acquisition news: Link #Binance#Crypto#VC#Hayes#FTX#Europe#DeFi#Liquidity#Contracts#MarketPeak#Trading#Investing#Finance#SVM#Solana#Regulations#CryptoMarket