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

Резултати

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

Търсене: #village

当前筛选 #village清除筛选
Zvezda Games

@zgd66 · Post #204 · 31.10.2022 г., 11:03

💪 В игру «Летопись. Полное издание» могут сыграть одновременно до пяти человек. А для любителей сражаться в одиночку предусмотрен соло-режим, который предложит вам помериться силами с вашей давней соперницей Кларой. Она задалась целью сделать свою семью самой известной и почитаемой во всей деревне. Вы должны помешать ей! Соло-режим прекрасно сочетается со всеми дополнениями и промоматериалами. Ждём, друзья! #ЗвездаНастольныеИгры#Village#ЛетописьПолноеИздание#ЗвездаУходВпечать

Zvezda Games

@zgd66 · Post #203 · 31.10.2022 г., 11:02

💍 Новое дополнение «Свадьба» предлагает провести свадебную церемонию, где любой член вашей семьи может встретить свою судьбу в семье... другого игрока! Это принесёт выгоду обоим игрокам в виде бонусных жетонов и победных очков. Дополнение также добавляет в игру новое действие — контрабандист, — которое позволит вам использовать своё влияние и заработать ещё больше очков. 🪙 Промокарточки жизненных целей — это небольшое дополнение из 19 карточек, которое можно использовать как с базовой игрой, так и в сочетании с различными комбинациями базовой игры и дополнений. Карточки жизненных целей принесут вам победные очки за выполнение определенных условий. Проможетоны внесут ещё больше разнообразия в ваши партии. #ЗвездаНастольныеИгры#Village#ЛетописьПолноеИздание#ЗвездаУходВпечать

Zvezda Games

@zgd66 · Post #201 · 31.10.2022 г., 11:00

🍺 «Таверна» открывает новые возможности для жителей деревни. Появляется новый товар — пиво, — который привлекает внимание влиятельных горожан и позволяет членам вашей семьи заработать дополнительные очки. Также появляются карточки односельчан, дарующие уникальную способность или приносящие победные очки в конце партии. ⛵ «Порт» предлагает альтернативный вариант путешествий для жителей деревни. Теперь члены вашей семьи могут снарядить собственный корабль и отправиться в путешествие по морю. Победные очки вам принесут: члены семьи, устроившиеся работать смотрителями маяков; торговля с островитянами и добытые в чужих землях сундуки с сокровищами. #ЗвездаНастольныеИгры#Village#ЛетописьПолноеИздание#ЗвездаУходВпечать

Zvezda Games

@zgd66 · Post #199 · 31.10.2022 г., 10:58

📜 «Летопись. Полное издание» — это яркая семейная игра с очень оригинальной механикой. В ней каждый участник становится главой семьи и будет стараться прославить её и привести к процветанию. Каждый член семьи найдёт свое место: кто-то посвятит себя служению церкви, а кто-то — ремесленному искусству; кто-то отправится в путешествие, а кто-то станет во главе деревенского совета. Чем больше великих деяний совершит семейство, тем больше победных очков вы получите. Уникальная механика старения миплов-домочадцев — визитная карточка игры. Ведь время скоротечно, и придет день, когда в жизни каждого из домочадцев настанет последний час. Память об ушедших в мир иной увековечивается в деревенской летописи, что также приносит вам победные очки. #ЗвездаНастольныеИгры#Village#ЛетописьПолноеИздание#ЗвездаУходВпечать

Zvezda Games

@zgd66 · Post #196 · 31.10.2022 г., 10:55

🍂🌿 Друзья, у нас отличные новости: «Летопись. Полное издание» уходит в печать! Вас ждёт не просто переиздание классики в новом оформлении! «Летопись. Полное издание» включает в себя дополнения «Таверна» и «Порт», ранее уже издававшиеся, совершенно новое большое дополнение «Свадьба» и все промоматериалы. 😉 Коробка у игры огромная и тяжёлая — более 3 кг дерева и картона! Только взгляните на фотографию, где мы сравниваем коробки иностранного издания «Village. Big box» и «Великий западный путь. Второе издание». Красотища же! 🤩 Игра должна выйти из печати в феврале 2023 года. С учётом логистики и оформления релиз планируем на апрель 2023 года. «Летопись. Полное издание» отправится сразу на полки магазинов, о чём мы вам своевременно сообщим. Мы очень ждём игру и будем оперативно сообщать подробности! Следите за нашими новостями! #ЗвездаНастольныеИгры#Village#ЛетописьПолноеИздание#ЗвездаУходВпечать

Desi Memes Funny Jokes

@DESI_MEMES_Funny_Jokes · Post #5898 · 29.11.2024 г., 13:13

🤣😂🤣 Sm for credit and removal #village#video#viral#viralreels#trending#trend#comedy#comment#funny#fun#funnyvideos#liker#like#reelsinstagram#reels#explore#explorepage

跑跑資訊站 KartInfo

@KartInfoTW · Post #492 · 10.03.2023 г., 10:02

第一賽季全新車輛登場,除了 3/9 當日更新的車輛外,還有更多即將陸續推出的車輛曝光 ⚡️⚡️ 🎯 完整圖鑑:https://kinf.cc/uZbee ▶️ 追蹤 Google 新聞:https://kinf.cc/gn ▶️ 立即加入 Discord:https://kinf.cc/dc #跑跑卡丁車#KartRider#跑跑飄移#KartDrift#卡丁車#車輛#圖鑑#列表#總覽#等離子PT#壓路機#智慧機動車TB#偵探沙發#黑暗守護者#911TurboSCabriolet#塗鴉#Werewolf#Village#Indust2#MetalLoader