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

Резултати

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

Търсене: #coinexmining

当前筛选 #coinexmining清除筛选
Crypto Profit Coach™

@cryptoprofitcoach · Post #9118 · 10.02.2025 г., 16:10

🔈 EPIC Listing Bonus: Deposit Events – Share 15,000 EPIC! 🎉 📣CoinEx is thrilled to announce the listing of EPIC! To celebrate, we’re launching an exclusive deposit event, giving you a chance to grab a share of 15,000 EPIC! 🔥 ▶️ Deposit & Earn Up to 10% Cashback 📅 Duration: 8:00 Feb 6 – 8:00 Feb 13, 2025 (UTC) 🛡 Who’s eligible? New users registered after Feb 5, 2025 (UTC) 🎉Rewards: 🏆 Top 100: 10% cashback (Max 40 EPIC per user) 🎖 Next 400: 5% cashback (Max 15 EPIC per user) 📌 Limited to the first 500 qualified users! 📣 Join now and claim your rewards ▶️: https://www.coinex.com/en/announcements/detail/34572280466580 ✨✨✨✨✨✨✨✨ Use My Referral link to Sign Up: https://www.coinex.com/register?rc=9qggk 🌹🌹🌹🌹🌹🌹🌹✨ #CoinExMining#CET#Launchpool#CryptoRewards#BullRun

Crypto Profit Coach™

@cryptoprofitcoach · Post #9099 · 11.12.2024 г., 14:31

🔼 🥰 😇 🥰 🥰 hits an Impressive 202.57% APY! 👀 📣CoinEx’s latest empowerment program is setting new records—this is the highest APY in 2 years! ▶️ Don’t miss CoinEx’s 6th Launchpool Event: 🎆Start with just 100 $CET 🟥Dive into a massive 13,000,000 $HOLD pool 💰 ✅Estimated APY could soar as high as 103%! 😱 ▶️Claim your $CET now: https://www.coinex.com/en/mining/6?pool=CET Full details: https://www.coinex.com/en/announcements/detail/32916644706964 💥Ride the $CET wave : Earn rewards & benefit from its rising value! CoinEx’s buyback strategy uses 20% of daily trading fees to repurchase $CET, which is burned monthly until there’s no $CET left in circulation—creating a deflationary model. 🔥 Current burn rate: 72.15%! 🔥 ✨✨✨✨✨✨✨✨ Use My Referral link to Sign Up: https://www.coinex.com/register?rc=9qggk 🌹🌹🌹🌹🌹🌹🌹✨ #CoinExMining#CET#Launchpool#CryptoRewards#BullRun

Crypto Profit Coach™

@cryptoprofitcoach · Post #9094 · 07.12.2024 г., 05:26

🚀 CET Hits 197.73% APY! CoinEx's empowerment program is crushing it—this is the highest APY in 2 years! 💥 Don’t miss CoinEx’s 5th Launchpool Event: - Start with just 100 $CET - Dive into a 10,000 $LKY pool 💰 - Estimated APY can reach as high as 224%! 😱 Snag your $CET now: https://www.coinex.com/en/mining/5?pool=CET Full details: https://www.coinex.com/en/announcements/detail/32630651860500 Ride the $CET wave: Earn rewards and enjoy its rising value! CoinEx employs a buyback strategy that utilizes 20% of daily trading fee income to repurchase CET, which is then burned monthly till there's no CET circulating in the market, creating a deflationary model. At present, the burning rate has reached 71%. ✨✨✨✨✨✨✨✨ Use My Referral link to Sign Up: https://www.coinex.com/register?rc=9qggk 🌹🌹🌹🌹🌹🌹🌹✨ #CoinExMining#CET#Launchpool#CryptoRewards#BullRun