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

Резултати

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

Търсене: #done

当前筛选 #done清除筛选

All Biggest Free Earning App 😎🔥 SignUp Bonus Upto - ₹100 In All App !! 😁 Yono-Rummy App >> https://www.yonorummyk.com?code=VIPXG2699FQ&t=1729746820 😍 Yono-Games App >> https://www.yonogamesrewards.com?code=7LGYWUK6&t=1730864959 😀 MBM-Bet App >> https://www.mbmagent.bet?code=GD3YGTY21UT&t=1721161794 ✅ Yono-Slots App >> https://www.yonoslotsb.com/?code=PJB3FNHAMNY&t=1721161958 🎮 567-Slots App >> http://www.567slotsagent.com?code=4NYCNAW6V84&t=1728391088 🔴 Yono-Arcrade App >> http://www.yonoofficial4.com?code=F55E22Y8YD5&t=1729494605 😜 Yono-Vip App >> https://www.yonovipreferral.com/?code=9U8Z57MCS45&t=1721162388 💋 Spin-Winner App >> https://spinwinner3.com?code=SDNS3XXM4S4&t=1726418875 😀 Slots-Winner App >> https://slotswinner6.com/?code=PGVHTFC4C4K&t=1725017992 😘 MKM-Bet App >> https://mkmbet.app/?code=MJ01ZQ2UBH6&t=1721162776 ☺️ Spin-Crush App >> https://www.spincrushagent.com?code=ADENYD9TXF7&t=1721163000 🙂 IND-Slots App >> https://www.ind-slots.com?code=EYMSBYKK6US&t=1730393488 🙈 Spin-777 App >> http://spin777c.in?code=7V9CEQF3BDX&t=1721163146 ❤️ Spin-Lucky App >> https://spinlucky33.com?code=FQ0JDQCS44Y&t=1721163280 😛 Spin-Gold App >> https://spingoldappsagent.com/?code=HLTHJ2X35FB&t=1721163453 🫶 MDM-Bet App >> https://www.mdmbet.app/?code=0G7J4GN2WWF&t=1721141791 😅 789-Jackpot App >> https://789jackpotsagent.com/?code=J7ZD1QE89U5&t=1721163528 😎 Bingo-101 App >> https://www.bingo101f.com?code=6YFFU15KSWD&t=1731145496 🫵 Gogo-Rummy App >> https://gogorummy2.com?code=8FWLC4QH4S4&t=1721163751 😄 Bet-213 Slots App >> https://www.bet213app.com?code=2QT2D612L66&t=1721163809 😘 My-777 App >> https://www.my777.com?code=WF1Q93K4R41&t=1729493257 🙊 Ind-Bingo App >> https://www.bingo91.vip?code=XU7RGPD587C&t=1729316050 ✅ Spin-101 App >> http://spin101.xyz?code=P4CZQCAT93R&t=1721164030 💋 Rummy-365 App >> https://rummy36507.in?code=YAZCQJJEKGS&t=1721164116 🥰 101-Z Yono App >> https://101z6.com?code=398NYEA54U2&t=1721164175 😎 Yono-777 App Link - http://www.yono777.games?code=F9MJNZQU5WJ&t=1722165030 🤗 En-365 App - https://www.en365.in?code=1LNPKHK3PZN&t=1722063070 ❤️ YN-777 >> https://www.y729.com?code=4SWZXMPKQHQ&t=1732866580 😍 Slots-Spin >> https://www.slotsspinn.com?code=XJB9ABFXQAL&t=1734320443 😀 Neta-Vip App >> https://www.neta1.vip?code=DR07C3QKTYH&t=1735008814 😂 Jaiho-Arcade App >> https://www.jaihoarcadeapk.com?code=AZDWJXS4A6W&t=1735783537 😃 Install All App's & Verify Otp Get Upto ₹20-₹500+ Play Game Make ₹100 & Withdraw !! #Done 🔴 Daliy Free Promo Code Aate Hain Code Se Only ₹100+ Bana Ke Free Withdraw Kar Sakte Hain Payment Fully Verified !! 👍

Hashtags

@Veronica_ecovibes

@veronica_ecovibes · Post #1478 · 21.10.2024 г., 10:31

⠀ Перезагрузиться вдвоём с Димкой в домике в Переделкино, а точнее, на территории экокластера "Тринити" в пос.Переделки #done☑️ ⠀ О таком доме, выполненном в современном скандинавском стиле можно только мечтать! Внутри модуля площадью 92 м² - всё необходимое для счастливого проживания: уютная гостиная с домашним кинотеатром и профессиональным звуком 🔝, оборудованная кухня, спальня с удобной кроватью и современной ванной комнатой с итальянской сантехникой + сауна. Интерьеры выполнены дизайн-студией #АРХИWOOD ( #HONKA ) ⠀ Открываешь большие окна и впускаешь воздух, солнце, природу 🥰 Красота! Закрой глаза и представь за окнами - река Сетунь и Мещерский лес! Ну мечта же!

🎁Get your Delea x GemsWallSBT #Gemswall is a quest platform where you can complete tasks, participate in quests, and earn rewards within the Telegram ecosystem. How to get your SBT and share of the $1.5M TON airdrop? ✔️ Go to the Delea quest on GemsWall ✔️ Follow the socials ✔️ Go to Delea App and connect your wallet ✔️ Deposit $20 worth collateral and mint (borrow) 15+ $DONE stablecoin 🏆Pro tip: To boost your rewards, join #TheOpenLeague, where #Delea is competing: Get your SBT badge, earn points for every $20 liquidity position & grab your share of the $1.5M airdrop! 💎Claim your SBT before December 16 — time is runningout! #SBT#stablecoin#LEA#DONE