<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Рефакторинг on Digitable courses</title>
    <link>https://courses.digitable.life/tags/%D1%80%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3/</link>
    <description>Recent content in Рефакторинг on Digitable courses</description>
    <generator>Hugo</generator>
    <language>ru-RU</language>
    <lastBuildDate>Sat, 01 Aug 2026 00:12:59 +0300</lastBuildDate>
    <atom:link href="https://courses.digitable.life/tags/%D1%80%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DRY, KISS, YAGNI и цена преждевременной абстракции</title>
      <link>https://courses.digitable.life/post/principles/02-dry-kiss-yagni/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/02-dry-kiss-yagni/</guid>
      <description>Три самых цитируемых и самых неправильно понятых принципа разработки: что они говорят на самом деле, как посчитать цену абстракции и почему дублирование иногда дешевле.</description>
    </item>
    <item>
      <title>JetBrains IDE: индексация, рефакторинги, инспекции, когда они окупаются</title>
      <link>https://courses.digitable.life/post/editors/06-jetbrains/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/editors/06-jetbrains/</guid>
      <description>Как устроена модель кода в IntelliJ Platform, почему рефакторинги там надёжнее текстовых, что реально стоит индексация, как вынести инспекции в CI и в каких проектах тяжёлая IDE окупается, а в каких — нет.</description>
    </item>
    <item>
      <title>SOLID: пять принципов с честным разбором и критикой</title>
      <link>https://courses.digitable.life/post/principles/01-solid/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/01-solid/</guid>
      <description>Что на самом деле означают SRP, OCP, LSP, ISP и DIP, откуда они взялись, как выглядят в рабочем коде — и где эти принципы вредят, если применять их механически.</description>
    </item>
    <item>
      <title>TDD и BDD на практике: как это выглядит в реальной работе</title>
      <link>https://courses.digitable.life/post/testing/14-tdd-and-bdd/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/testing/14-tdd-and-bdd/</guid>
      <description>Что на самом деле даёт цикл red-green-refactor и что показали эмпирические исследования, чем лондонская школа отличается от детройтской, почему BDD — это про разговор, а не про Cucumber, как проводить Example Mapping и когда весь Gherkin-слой честнее выбросить.</description>
    </item>
    <item>
      <title>Антипаттерны: God Object, Big Ball of Mud, Golden Hammer и другие</title>
      <link>https://courses.digitable.life/post/design-patterns/06-antipatterns/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/06-antipatterns/</guid>
      <description>Каталог решений, которые выглядят разумно в момент принятия и разрушают систему через год: God Object, Big Ball of Mud, Golden Hammer, Lava Flow и организационные антипаттерны — с метриками обнаружения, рабочим кодом анализа репозитория и стратегиями выхода.</description>
    </item>
    <item>
      <title>Запахи кода и каталог рефакторингов</title>
      <link>https://courses.digitable.life/post/principles/05-code-smells-and-refactoring/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/05-code-smells-and-refactoring/</guid>
      <description>Что такое запах кода, полный каталог основных запахов с примерами, механика безопасных рефакторингов маленькими шагами и приёмы больших преобразований без остановки разработки.</description>
    </item>
    <item>
      <title>Как выбирать и смешивать парадигмы в реальном проекте</title>
      <link>https://courses.digitable.life/post/paradigms/09-choosing-and-mixing/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/paradigms/09-choosing-and-mixing/</guid>
      <description>Финальная статья трека: метод выбора парадигмы под конкретную подсистему, оси изменчивости и expression problem, швы между парадигмами, рабочие комбинации из прода, цена смешения и стратегия постепенной миграции.</description>
    </item>
    <item>
      <title>Модульные тесты: изоляция, тестовые дублёры, что такое хороший юнит-тест</title>
      <link>https://courses.digitable.life/post/testing/05-unit-testing/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/testing/05-unit-testing/</guid>
      <description>Что считать юнитом, почему изоляция бывает двух несовместимых видов, чем stub отличается от mock и когда дублёр вредит, как писать тесты, переживающие рефакторинг, и почему процент покрытия — самая честно измеряемая и самая бесполезная метрика качества.</description>
    </item>
    <item>
      <title>Монолит и модульный монолит: недооценённый выбор</title>
      <link>https://courses.digitable.life/post/architecture-patterns/02-monolith-and-modular-monolith/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/architecture-patterns/02-monolith-and-modular-monolith/</guid>
      <description>Почему монолит — не архаизм, а разумный старт по умолчанию, чем модульный монолит отличается от big ball of mud, как заставить границы модулей соблюдаться машиной и как подготовить систему к распилу, не начиная его.</description>
    </item>
    <item>
      <title>Паттерны в реальном коде: когда они мешают</title>
      <link>https://courses.digitable.life/post/design-patterns/07-patterns-in-practice/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/07-patterns-in-practice/</guid>
      <description>Разбор реальных ситуаций, где паттерн делает код хуже: цена косвенности, спекулятивная обобщённость, невидимый поток управления, протекающие абстракции — и процедура принятия решения вместо рефлекса.</description>
    </item>
    <item>
      <title>Паттерны проектирования: что это, откуда взялись и как читать каталог</title>
      <link>https://courses.digitable.life/post/design-patterns/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/00-overview/</guid>
      <description>Откуда взялись паттерны, что такое паттерн строго, как устроен каталог GoF, чем за него платят и как применять его от задачи, а не от списка.</description>
    </item>
    <item>
      <title>Поведенческие паттерны: Strategy, Observer, Command, State и другие</title>
      <link>https://courses.digitable.life/post/design-patterns/03-behavioral/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/03-behavioral/</guid>
      <description>Одиннадцать паттернов о том, кто кому звонит и кто за что отвечает: Strategy, State, Command, Observer, Chain of Responsibility, Visitor и остальные — с кодом, ценой и разбором, где они ломаются в проде.</description>
    </item>
    <item>
      <title>Поддержка, технический долг и эволюция продукта</title>
      <link>https://courses.digitable.life/post/sdlc-and-career/07-support-and-techdebt/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/sdlc-and-career/07-support-and-techdebt/</guid>
      <description>Что происходит с системой после релиза: как устроены линии поддержки и триаж багов, что такое технический долг на самом деле, как его измерять, отдавать и продавать бизнесу, и как продукты стареют и умирают.</description>
    </item>
    <item>
      <title>Порождающие паттерны: Factory, Builder, Singleton, Prototype</title>
      <link>https://courses.digitable.life/post/design-patterns/01-creational/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/01-creational/</guid>
      <description>Как перестать разбрасывать new по коду: фабрики, строители, синглтоны и прототипы — от интуиции до продакшн-нюансов, потокобезопасности и типичных ошибок.</description>
    </item>
    <item>
      <title>Принципы разработки: зачем нужны и как не превратить их в карго-культ</title>
      <link>https://courses.digitable.life/post/principles/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/00-overview/</guid>
      <description>Откуда взялись принципы разработки, какую экономическую задачу они решают, чем принцип отличается от правила и как отличить осознанное проектирование от ритуала.</description>
    </item>
    <item>
      <title>Принципы тестирования: пирамида, TDD, BDD, свойства хорошего теста</title>
      <link>https://courses.digitable.life/post/principles/06-testing-principles/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/06-testing-principles/</guid>
      <description>Зачем на самом деле нужны тесты, как выбрать уровень проверки, что отличает устойчивый тест от хрупкого, и как TDD, BDD и property-based тестирование работают в реальных проектах.</description>
    </item>
    <item>
      <title>Структурные паттерны: Adapter, Decorator, Facade, Proxy, Composite</title>
      <link>https://courses.digitable.life/post/design-patterns/02-structural/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/design-patterns/02-structural/</guid>
      <description>Как из мелких объектов собирают большие структуры: обёртки, деревья и мосты — с рабочим кодом, разбором стоимости косвенности и типичными ошибками.</description>
    </item>
    <item>
      <title>Типичные ошибки внедрения DDD</title>
      <link>https://courses.digitable.life/post/ddd/08-ddd-pitfalls/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/ddd/08-ddd-pitfalls/</guid>
      <description>Каталог провалов DDD-внедрений — от папок вместо модели и контекстов по таблицам до агрегатов-гигантов и организационных ловушек — с признаками, кодом, метриками и планом выхода.</description>
    </item>
    <item>
      <title>Чистые функции, побочные эффекты и почему это меняет всё</title>
      <link>https://courses.digitable.life/post/functional-programming/01-pure-functions/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/functional-programming/01-pure-functions/</guid>
      <description>Что такое чистота на самом деле, какие бывают побочные эффекты, что чистота даёт (тесты, мемоизация, параллелизм, рефакторинг) и сколько она реально стоит.</description>
    </item>
    <item>
      <title>Чистый код: имена, функции, границы, комментарии</title>
      <link>https://courses.digitable.life/post/principles/04-clean-code/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/principles/04-clean-code/</guid>
      <description>Что на самом деле означает «чистый код»: как называть сущности, какого размера делать функции, как изолировать чужой код на границах системы и когда комментарий полезен, а когда — дезодорант для плохого дизайна.</description>
    </item>
  </channel>
</rss>
