• Тестирование в .NET. Часть 1 — Вступление

    15 ноября, 2020 DEV

    Зачем вам тесты? Пишите сразу без багов!… Сегодня поднимем больную тему (для меня), но сил больше терпеть никаких не осталось — прошу услышать мою боль и я, надеюсь, мы встанем на одну сторону баррикад. Тема сложная, при всей кажущейся простоте и выгоде — не очевидная. Ведь до сих пор, даже в наше передовое время, тестирование…

    Read more
  • Битовые маски и флаги в .NET C#

    22 октября, 2020 DEV

    Сегодня хочу поднять очень полезную, но не самую популярную в последнее время тему — использование поразрядных операций над двоичными числами, работа с битовыми масками и, соответственно, флагами. По сути всё вышеперечисленное — это звенья одной цепи и истории: как прятать хранить несколько значений (т.н. флагов) в одной численной переменной, а также как именно и где…

    Read more
  • Теория о бесконечных обезьянах

    7 марта, 2019 DEV

    Страшно люблю разного рода абстрактные теории и мысленные эксперименты, существующие исключительно в гипотетическом поле и слабопроверяемые в реальной жизни. Одной из таких теорий является теория о бесконечных обезьянах, предполагающая ситуацию, в которой бесконечное количество обезьян с печатными машинками за бесконечное количество времени — рано или поздно могут напечатать любой заданный наперёд текст. К примеру, «Войну…

    Read more
  • gRPC Часть №2 — .NET C# и Google Protobuff. Пишем свой proto-файл.

    2 июня, 2018 DEV

    Несколько дней назад я написал вводную статью, открывающую небольшой сборник записей про связь между вселенной .NET и фреймворком Google Protobuff gRPC. Это вторая часть цикла, по сути также являющаяся вступительной. Сегодня мы научимся создавать свои собственные протофайлы (обычные текстовые файлы с расширением .proto) и изучим синтаксис proto3 (думаю, что версии ниже можно уже не рассматривать).…

    Read more
  • Антипаттерн №5 — Золотой молоток (Golden Hammer)

    1 июня, 2018 DEV

    Самый страшный враг знания — не его отсутствие,а иллюзия его наличия (с) Стивен Хокинг До этого момента мы уже успели рассмотреть некоторые популярные ошибки проектирования и дизайна программ и систем. Как правило, описанные ранее антипаттерны могли случаться из-за отсутствия должного опыта и квалификации конкретного разработчика, сегодняшний же наш разговор о недуге, который косит в первую…

    Read more
  • Антипаттерн №4 — Метод копипаста (Copy and paste programming)

    18 мая, 2018 DEV

    Антипаттерн — понятие эволюционное. Точно также формировались правила дорожного движения — от происшествий на дороге, шаг за шагом, методом проб и ошибок зарождалась культура вождения. С антипаттернами история похожая — за более, чем 50 летнюю историю программирования мир разработки кое чего повидал. Всякого, знаете 🙂 Менялись технологии, подходы, методики. Кардинально изменялось всё — и по…

    Read more
  • Антипаттерн №3 — Божественный объект (God Object)

    30 апреля, 2018 DEV

    Совсем недавно мной были рассмотрены два наиболее распространённых антипаттерна (антипаттерн — пример плохой реализации кода, проектирования etc.) — спаггети код и магические числа. Сегодня мы поговорим про почётное третье место — Божественный объект (англ.: God Object). Во времена, когда только-только зарождалось понятие Web 2.0 (2000-2005) и фактически происходило становление динамического интернета — было почему-то модно…

    Read more
  • gRPC Часть №1 — .NET C# и Google Protobuff. Знакомство.

    23 апреля, 2018 DEV

    Так исторически сложилось, что на текущей моей работе весь стек бекенда состоял изначально из GoLang и .NET. Так начинался наш проект, к  слову, абсолютно для меня экспериментальный — новый виток карьеры (в профессиональном плане). До этого момента я был полностью и целиком desktop-разработчиком под Windows (а ещё до этого десктоп QT и Linux). Я не…

    Read more
  • Антипаттерн №2 — Спагетти-код (Spaghetti code)

    21 апреля, 2018 DEV

    Когда-то давно, когда компьютеры были большими, а программы маленькими — существовал единственный возможный способ написания кода. При помощи интерпретатора (если повезёт) выполнялась какая-либо вбиваемая программа. Строчка-за-строчкой. Людей, которые писали бы подобные листинги было невероятно мало, мирового опыта и понимания КАК НАДО ещё не было сформировано — ни методологий и никаких правил. Каждый был творцом собственного…

    Read more
  • Антипаттерн №1 — Магическое число (Magic Number)

    18 апреля, 2018 DEV

    Из всего многообразия грехов разработки магическое число (magic number) — это, пожалуй, самый распространённый антипаттерн. Греховность его можно оценить как лёгкую, т.к., в целом, данный методологический изъян лёгок в обнаружении и устранении. Магическое число — это оперирование явно указанными в коде коэффициентами (как правило целочисленными), значение и смысл которых знает только автор программы. Как правило,…

    Read more
1 2