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 подобни публикации

Търсене: #problemsolving

当前筛选 #problemsolving清除筛选
Digital.edu IT Career

@digitalitvacancy · Post #160 · 27.01.2025 г., 07:26

Dasturlashga qo'l urgan, lekin nimadan boshlashni bilmaydiganlar uchun 3-5 yillik plan: — Nerd rejimiga o'ting: kuniga kamida 6 soat dasturlash bilan band bo'ling — Computer Science mavzularini chuqur o'rganing — Muntazam algoritmik masalalarni yeching (codewars, leetcode, va hokazo) — Bitta dasturlash tilini mukammal o'rganing — Web, mobil, yoki desktop development uchun kerak bo'lgan texnologiyalarni o'rganing — O’zingizni pet proyektlaringizni yarating — Har kuni ko'p kod yozing — Tez-tez interview qiling (ishingiz bo'lsa ham) — Vaqtida uxlang, ovqatlaning, va sport bilan shug'ullaning Qolgani (ish, daromad, va xurmat) o'zi keladi. Natija darxol ko'rinmaydi, lekin albatta keladi - haqiqiy yutuqlar vaqt talab qiladi. Jarayondan zavq oling! #Coding#ComputerScience#CS#ProblemSolving#Dasturlash#Programming#SoftwareEngineering#IT

MEZON Inspiring School

@mezon_school · Post #3325 · 13.01.2026 г., 06:02

🇷🇺 RUS / 🇬🇧 ENG / 🇺🇿 UZB 🧠📐 Математика — это не про заучивание, а про мышление! Продолжаем разбирать задачи олимпиады Mezon прошлого года. Сегодня — пара интересных задач для 4 класса: учимся рассуждать, искать нестандартные ходы и получать удовольствие от процесса 💡 #MezonSchool#МатематическаяОлимпиада #Математика#УчимсяДумать#Логика 🇬🇧 English 🧠📐 Math is about thinking, not memorizing! We continue analyzing problems from last year’s Mezon Math Olympiad. Today we’re working through a couple of problems for Grade 4, focusing on reasoning, creativity, and smart strategies 💡 #MezonMath#MathOlympiad#ElementaryMath #ThinkingSkills#ProblemSolving 🇺🇿 O‘zbekcha 🧠📐 Matematika — yodlash emas, fikrlash haqida! O‘tgan yilgi Mezon matematika olimpiadasi masalalarini tahlil qilishni davom ettiramiz. Bugun — 4-sinf uchun bir nechta qiziqarli masala, mantiqiy fikrlash, noodatiy yechimlar va jarayondan zavqlanishga e’tibor qaratamiz 💡 #MatematikaOlimpiadasi #MantiqiyFikrlash#MasalaYechish

Venture Village Wall 🦄

@venturevillagewall · Post #3588 · 20.12.2024 г., 10:29

AI Marketer Launches for $29 Introducing Nikolai's service, MarketOwl, which provides virtual marketing teams for small businesses. The AI-driven platform automates content creation and identifies potential customers. Currently, it supports around 100 users monthly, generating about $3k in revenue. The concept originated from Nikolai's observations of small companies lacking marketing resources, expertise, and time. After initial failures with a marketing strategy MVP, he pivoted to develop the AI marketer. Engagements in a dedicated subreddit led to high conversion rates for subscriptions. Successful products arise from addressing real audience problems. To effectively enter the market, consider using the Plan-Kapkan consisting of 35 steps for launching. #MarketOwl#AI#Marketing#ContentCreation#SmallBusiness#SaaS#VirtualTeam#Startup#Entrepreneurship#MVP#ProblemSolving#Automation#CustomerAcquisition#AudienceEngagement#Subscription#Revenue#Strategy#PlanKapkan#BusinessGrowth#MarketingTools