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

Резултати

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

Търсене: #csharp

当前筛选 #csharp清除筛选
GitHub Trends

@githubtrending · Post #15102 · 29.08.2025 г., 12:30

#csharp The Model Context Protocol (MCP) is an open standard that lets AI models connect easily and securely to external data sources and tools, like business systems or cloud services. It acts like a universal adapter, enabling AI to access the right context and data to perform tasks accurately and efficiently. Microsoft offers many MCP servers that link AI with services such as Azure DevOps, SQL databases, Microsoft 365, and more, allowing AI to interact naturally with your data and workflows. This helps you get smarter AI assistance, better automation, and easier integration across your tools. https://github.com/microsoft/mcp

Hashtags

GitHub Trends

@githubtrending · Post #14970 · 17.07.2025 г., 12:00

#csharp RunCat 365 is a fun and cute app that shows a running cat animation on your Windows taskbar. The cat’s running speed changes based on your computer’s CPU usage, so you can easily see how hard your computer is working just by watching the cat. It’s made for Windows only and is built with C# and .NET 9.0. This app adds a playful and useful visual indicator to your taskbar, making it easier and more enjoyable to monitor your PC’s performance at a glance. It’s free and open-source, with many users enjoying its charm and functionality[4]. https://github.com/Kyome22/RunCat365

Hashtags

GitHub Trends

@githubtrending · Post #14654 · 01.05.2025 г., 13:00

#csharp The eShop reference application is a sample e-commerce website built using .NET 9 and a services-based architecture. It helps developers learn how to create modern web applications. To use it, you need to install .NET 9 SDK, Docker, and possibly Visual Studio or Visual Studio Code. This application is beneficial because it provides a real-world example of how to structure and deploy a complex web application, making it easier for developers to understand and implement similar projects. https://github.com/dotnet/eShop

Hashtags

MDC Uzbekistan

@mdcuzbekistan · Post #225 · 26.11.2021 г., 06:54

#csharp JSC “KDB Bank Uzbekistan” is looking for Middle or High level of S/W designer with C#, C Programming Job description: Software design · Experience to design new software for multi users using middleware like Apache Kafka External Interface module development, maintenance and support · Receiving and analyzing user’s request · Coding and Test · Implementation and documentation · Supporting of the banking system users Professional requirements: · Experience of development tool: Visual Studio, GCC or any C compiler · Experience of Database environment (Oracle) · At least 2-3 years of experience in the field of programming in C/C++ & C# · Time management (in order to meet deadlines set by the management) · English Speaking (should be able to execute instruction and verbal report by English) · Good written and spoken Russian Working conditions: Salary based on interview results, depends on skills and knowledge from 12 mln.soums to 22 mln. soums Working hours 5/2 from 9:00 - 18:00 Office is located in the center of Tashkent Benefits: Medical insurance Incentive payments for Holidays Performance bonus Material assistances for special events (marriage, birth of child and etc.) Mortgage loan, overdraft facility Teambuilding Contacts: Nozima Yakubova, Head of HR dpt. telegram: @nozimayakubova email: [email protected] More information you can get from our web site: https://kdb.uz/en

Hashtags

IT MARKET

@itmarket_uz · Post #3401 · 06.01.2025 г., 06:53

#Rezyume#Резюме#Rezume#Csharp#dotnet#backend 🙍🏻‍♂️‍FISH/ФИО: Abduganiyev Abdurahim Abduvaliyevich 🕑Yosh/Возраст: 20 yosh 👨🏻‍💻Mutaxassisligi/Профессия: C#/.NET Developer 📚Ko'nikmalar/Навыки: C# , ASP.NET Core MVC, RESTful API, EF Core, Microsoft SQL Server, PostgreSql, WPF, Git/Github, Middleware and Filters, Syncfusion components, Clean Architecture, SOLID , YAGNI , KISS. 📞 +998997090404 📍Шахар : Toshkent 🔍 Status/Статус: ish qidirmoqda / в поиске работы 🆔1917 @itmarket_uz

MDC Uzbekistan

@mdcuzbekistan · Post #338 · 27.01.2022 г., 09:55

#vakansiya#dotnet#csharp Davr Bank Middle/Senior .NET dasturchi izlamoqda Talablar: • C# / .NET Framework • ASP.NET, REST API • WCF, Windows services • Oracle • JSON/XML Qo'shimcha ma'lumotlar: • Maosh - 500$ dan 2000$ gacha • Ish vaqti - 9:00 dan 18:00 gacha • Hudud - Toshkent shaxri Resume yuboring:Nodir .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

IT Events RU

@iteventsru · Post #238 · 27.02.2018 г., 16:13

✅ Завтра Шахматный клиент-сервер на C#. Часть 2. Шахматная доска + фигуры. Unity3D. 📅 28 февраля / 19:00 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/P8dT1K План вебинара: ~ Вступление. Установка Unity3D. ~ Размещение доски с фигурами. ~ Перемещение мышкой. ~ Фиксация хода. ~ Взятие фигур. ~ Проверка правил. Для участия в вебинаре обязательна регистрация. На емейл, который вы укажете в регистрационной форме, 28 февраля 2018 года будет отправлено письмо-приглашение со ссылкой на трансляцию. #Unity3D#Csharp#online#онлайн

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