«SOLID: S — принцип единой ответственности» От Дэвида Парнаса до Роберта Мартина: история рождения принципа, который изменил мир разработки. Узнайте, почему каждый класс должен иметь только одну причину для изменения, и как это поможет вам создавать более устойчивые и понятные системы. Разбираем принцип единственной ответственности из SOLID! 📖 Читай на Telegraph: SOLID: S — Single-Responsibility Principle
Заметки разработчика
В этом канале я буду делиться своими мыслями и заметками на счёт интересных тем в мире разработки. Подписывайся! Если тебя интересует какая-то тема и ты хочешь чтобы её освятили, то пиши об этом в комментариях. @makar_mikhalchenko
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
11 из 11«Принципы SOLID без тайн: упрощение проектирования программного обеспечения» В этой статье я рассказал, что такое SOLID, как возникли эти принципы, и почему они остаются актуальными для разработки. Кратко разобрал каждый из принципов, а также осветил потенциальные сложности, с которыми можно столкнуться при их применении. Узнай, как строить архитектуру, которая будет не только надёжной, но и устойчивой к изменениям! 📖 Читай на Telegraph: SOLID Principles Demystified: Simplifying Software Design
«SOLID: O — принцип открытости/закрытости» От Бертрана Мейера до современных архитектур — принцип открытости/закрытости изменил подход к проектированию программных систем. Узнайте, как можно легко добавлять новые возможности в систему, не изменяя её существующий код, и почему это помогает избегать "операции дробовиком". Разбираем принцип из SOLID и показываем, как архитектура с плагинами может стать ключом к успешной разработке. 📖 Читай на Telegraph: SOLID: O — Open-Closed Principle
«SOLID: L — принцип подстановки Лисков» Погрузитесь в историю и суть LSP – одного из краеугольных камней SOLID. В этой статье я рассказываю, как правильное поведенческое подтипирование позволяет избежать распространённых ошибок и сделать код гибким, стабильным и предсказуемым. 📖 Читай на Telegraph: SOLID: L — Liskov Substitution Principle
«SOLID: I — принцип разделения интерфейса» Как несоблюдение ISP приводит к избыточным зависимостям, хрупкому коду и трудностям при расширении? В этой статье мы разберём историю и суть ISP, увидим, как он связан с SRP, LSP и DIP, и узнаем, почему важно проектировать интерфейсы так, чтобы они не заставляли клиентов зависеть от того, чего они не используют. 📖 Читай на Telegraph: SOLID: I — Interface Segregation Principle
«SOLID: D — принцип инверсии зависимостей» Почему модули высокого уровня не должны зависеть от модулей низкого уровня? Как сделать архитектуру гибкой, расширяемой и легко тестируемой? В этой статье я рассказываю о принципе инверсии зависимостей (DIP) — фундаменте надёжного проектирования ПО. Узнайте, как абстракции помогают уменьшить связность, упростить поддержку и интеграцию с разными компонентами, а также избежать «жёстких» зависимостей, мешающих развитию системы. 📖 Читай на Telegraph: SOLID...
«SOLID: Практический пример рефакторинга» Понимать принципы SOLID — одно. Уметь распознавать их нарушения в реальном коде — совсем другое. В этой завершающей статье серии я беру небольшой, но показательный проект и пошагово провожу рефакторинг: от нарушения SRP, OCP и LSP до устранения проблем с DIP и ISP. Покажу, как из перегруженного и нестабильного кода получить простую, устойчивую и расширяемую архитектуру. 📖 Читай на Telegraph: SOLID: A Practical Refactoring Example
«Принцип самодокументируемости кода» В этой статье мы разберём, что значит писать код, который «говорит сам за себя». Я покажу, как правильные имена классов и функций, фокусные методы, последовательная структура и понятная обработка ошибок помогают создать проект, который легко читать и сопровождать. Узнаем, почему избыточные комментарии часто мешают, а хорошо подобранные имена и тесты могут практически полностью заменить документацию. Также обсудим, как применять этот принцип на практике при ре...
«KISS: Keep it simple, stupid!» От первых военных памяток и Келли Джонсона до UNIX и Agile — как родился и эволюционировал принцип, который пережил поколения инструментов. Смысл KISS — устранять ненужную сложность. Разберём, где граница между простотой и примитивностью, как делать минимум абстракций без потери смысла, и как применять KISS в архитектуре, коде и процессе. Меньше «магии» — больше ясности, предсказуемости и скорости изменений. В конце — короткий рефакторинг: превращаем перегруженный...
«YAGNI: You Aren’t Gonna Need It» Почему разработчики продолжают строить архитектуру «на будущее», которое почти никогда не наступает? В этой статье я разбираю принцип YAGNI — одно из ключевых правил гибких методологий. Поговорим о том, как спекулятивное проектирование рождает лишнюю сложность, как отличить реальное требование от предположений, и почему минимальная функциональность часто оказывается самой устойчивой. Покажу признаки нарушения YAGNI в коде, разберу пример перегруженного сервиса и...