@arrowwalls · Post #1009 · 28.03.2024 г., 12:05
wallpaper #freebies Get it here : https://twitter.com/ArrowWalls/status/1773319288650395788?t=BaxjADsuh6NY9PxnFzUCiA&s=19
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #freebies
@arrowwalls · Post #1009 · 28.03.2024 г., 12:05
wallpaper #freebies Get it here : https://twitter.com/ArrowWalls/status/1773319288650395788?t=BaxjADsuh6NY9PxnFzUCiA&s=19
Hashtags
@thedevs · Post #1076 · 09.04.2018 г., 18:02
Tabler, premium and open source dashboard template with responsive and high quality UI. #resources#design#freebies#app @thedevs https://kutt.it/jBoGdM
Hashtags
@thedevs · Post #1225 · 14.09.2018 г., 18:17
Ava, free HTML landing page for beta products. #freebies#html#design#template @thedevs https://kutt.it/KR3Xm4
@AppPie · Post #2585 · 12.12.2025 г., 08:00
#Promotions Epic 喜加一 —— 霍格沃茨之遗 🔗Epic Games Store 《霍格沃茨之遗》是一款基于《哈利·波特》系列书籍设定的沉浸式开放世界动作角色扮演游戏。 在旅程中,你将造访那些熟悉的和陌生的地点,发现奇妙的野兽,自定义你的角色并制造魔药,掌握施放咒语的技巧,升级天赋并成为你所向往的巫师。 优惠截止于2025/12/18 08:00。 #EpicGamesStore#Freebies 📮 频道 @AppPie 🌐 网站 apppie.com
@AppPie · Post #2507 · 04.09.2025 г., 16:40
#Promotions Epic 本周限免 —— 纪念碑谷 🔗Epic Games Store 踏上宽恕之旅,穿越几乎不可能破解的环境和幻想谜题。操纵纪念碑、创建不断发展的道路,探索全新超现实且神秘的世界,体验这款平静的冥想解谜游戏。 优惠截止于2025/9/11 08:00。 #EpicGamesStore#Freebies 📮 频道 @AppPie
@AppPie · Post #2527 · 19.09.2025 г., 02:34
#Promtions Epic《冬日计划》和 Steam《Away》等限免开启 Epic 平台送出两款作品:多人在线生存游戏《冬日计划》,玩家需要在8人团队中合作生存,同时揪出潜藏的叛徒,考验着合作与甄别能力;以及画风梦幻的经典解谜冒险游戏《银河历险记2》,玩家将跟随主角开启一场拯救狗狗的奇妙旅程。 与此同时,Steam 平台则提供了一款风格极简的黑白光影叙事游戏《Away》,它旨在通过沉浸式的音画体验,引导玩家完成一段关于死亡的短暂思考。 冬日计划 在冰天雪地的荒野中,活下去只是第一步。八人组队合作,收集资源、修复设施、抵御野兽,只为呼叫救援逃出生天。然而危险不仅来自严寒与饥饿,更潜藏在身边的同伴中——他们中有人是叛徒,随时可能撒谎、破坏、甚至背刺最亲密的伙伴。 银河历险记 2 《银河历险记 2 (Samorost 2)》讲述着一段关于太空地精的梦幻故事,他的狗狗刚刚被胡作非为的外星人绑架了。展开一段短暂的冒险来拯救狗狗,与各种奇怪的陌生人打交道并放松地聆听 Tomáš "Floex" Dvořák 所谱写的舒缓音乐。 Away 从灰白的光影到最后的静默,《Away》以极简之姿描绘死亡的体验。在阴郁的黑白世界里,你将跟随主角的脚步,沉浸于低沉而细腻的音效氛围,完成一段短暂却意味深长的旅程。支持英文与俄文全程本地化,并配备 Steam 成就系统,让这份独特的体验更加完整。 Epic 2 款游戏限免截止于 2025 年 9 月 25 日上午 8:00,Steam 1 款游戏限免截止于 2025 年 9 月 24 日上午 10:00,不要错过。 #EpicGamesStore#Steam#Freebies 📮 频道 @AppPie