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

Резултати

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

Търсене: #tapswapcode

当前筛选 #tapswapcode清除筛选
Airdrop Center

@centralchanel · Post #15976 · 11.01.2025 г., 20:48

TapSwap Video Codes 🎥 11 / 01 / 2025🗓️ 1. Life-Changing - c2nv 2. Creating a Website - ivwn 3. Stunning Portfolio - r7ke 4. Powerful Lessons - y3oe 5. AI-Driven Dropshipping - ds4h 6. Profitable Franchises - r4y1 7. Profit from Your Expertise - ut4a 8. High CPM in 2024-2025 - hd27 #TapSwapCode

Hashtags

Airdrop Center

@centralchanel · Post #16336 · 29.01.2025 г., 18:36

📢TapSwap Codes 29 Jan ✅$4,000/Month On Amazon ☑️ 4war ✅ Want Financial Freedom ☑️ vuaw ✅Want to Get Rich? ☑️ wnob ✅Airbnb For Beginners ☑️ ivsv ✅The Latest TapSwap ☑️ rnxe ✅Drive Your Way ☑️ kasd ✅Earn Over $4,000 Monthly ☑️ rocr ✅Avoid Financial Struggles ☑️ vu3d #tapswapcodes#TapSwapCode#TapSwap

Airdrop Center

@centralchanel · Post #16237 · 23.01.2025 г., 19:24

Tapswap All Codes 23 Jan🗓️ 1️⃣ - Top Brands in 2025 ✅ - afdf 2️⃣ - Earn Free Bitcoin ✅ - a7a2 3️⃣ - Make Your Dreams a Reality ✅ - tenp 4️⃣ - Instagram Into a $100/Day ✅ - exxr 5️⃣ - 5,000$ in 30 Days ✅ - aact 6️⃣ - Unlock Free Products ✅ - fifa 7️⃣ - Online Business in 2025 ✅ - rmap 8️⃣ - Want to Achieve It All ✅ - qxun #tapswap#tapswapcode#tapswapcodes

Airdrop Center

@centralchanel · Post #16199 · 21.01.2025 г., 20:14

Tapswap All Codes 21 Jan🗓️ 1️⃣ - Earn $100 Every Day ✅ - ouns 2️⃣ - Turn X Into a $5,000/Month ✅ - astv 3️⃣ - Opening an Online Business ✅ - rzr2 4️⃣ - Make Money on Binance ✅ - ema9 5️⃣ - Make 2025 Your Year ✅ - d5n5 6️⃣ - Free Gifts from Loyalty Programs ✅ - v2q3 7️⃣ - Making Money with Free Online ✅ - occl 8️⃣ - You Desire in Life ✅ - cdae #tapswap#tapswapcode#tapswapcodes

Airdrop Center

@centralchanel · Post #16130 · 18.01.2025 г., 20:42

Tapswap All Codes 18 Jan🗓️ 1️⃣ - Unlock Free Rewards ✅ - rm8b 2️⃣ - Get Free Online Courses ✅ - kpsl 3️⃣ - Make Money Without Leaving ✅ - orrm 4️⃣ - Monetizing Your Content ✅ - nfgv 5️⃣ - Earning $1,000 in Crypto ✅ - mga7 6️⃣ - Earn 10k on TikTok ✅ - e53e 7️⃣ - Flip and Earn ✅ - h3xr 8️⃣ - Earn $100+ Daily ✅ - kd5r #tapswap#tapswapcode#tapswapcodes

Airdrop Center

@centralchanel · Post #16024 · 13.01.2025 г., 19:18

Tapswap All Codes 13 Jan🗓️ 1️⃣ - Low-Cost Franchises ✅ - tfgk 2️⃣ - AI Dropshipping ✅ - is1p 3️⃣ - Life Lessons I Learned ✅ - qrze 4️⃣ - Craft an Online Portfolio ✅ - eq4d 5️⃣ - Build a Website Easily ✅ - ct39 6️⃣ - Financial Goals ✅ - s3vr 7️⃣ - Save More with Less ✅ - tf8m 8️⃣ - Maximize Your Time ✅ - w25gc #tapswap#tapswapcode#tapswapcodes

ПредишнаСтр. 1 от 4Следваща