Заметки разработчика
120 subscribers
11 photos
11 links
В этом канале я буду делиться своими мыслями и заметками на счёт интересных тем в мире разработки. Подписывайся!

Если тебя интересует какая-то тема и ты хочешь чтобы её освятили, то пиши об этом в комментариях.
Download Telegram
«Принципы SOLID без тайн: упрощение проектирования программного обеспечения»

В этой статье я рассказал, что такое SOLID, как возникли эти принципы, и почему они остаются актуальными для разработки. Кратко разобрал каждый из принципов, а также осветил потенциальные сложности, с которыми можно столкнуться при их применении. Узнай, как строить архитектуру, которая будет не только надёжной, но и устойчивой к изменениям!

📖 Читай на Telegraph: SOLID Principles Demystified: Simplifying Software Design
1.14K👍16❤10👎6🔥5
«SOLID: S — принцип единой ответственности»

От Дэвида Парнаса до Роберта Мартина: история рождения принципа, который изменил мир разработки. Узнайте, почему каждый класс должен иметь только одну причину для изменения, и как это поможет вам создавать более устойчивые и понятные системы. Разбираем принцип единственной ответственности из SOLID!

📖 Читай на Telegraph: SOLID: S — Single-Responsibility Principle
2👍15❤7🔥5
«SOLID: O — принцип открытости/закрытости»

От Бертрана Мейера до современных архитектур — принцип открытости/закрытости изменил подход к проектированию программных систем. Узнайте, как можно легко добавлять новые возможности в систему, не изменяя её существующий код, и почему это помогает избегать "операции дробовиком". Разбираем принцип из SOLID и показываем, как архитектура с плагинами может стать ключом к успешной разработке.

📖 Читай на Telegraph: SOLID: O — Open-Closed Principle
1👍14🔥10❤1
«SOLID: L — принцип подстановки Лисков»

Погрузитесь в историю и суть LSP – одного из краеугольных камней SOLID. В этой статье я рассказываю, как правильное поведенческое подтипирование позволяет избежать распространённых ошибок и сделать код гибким, стабильным и предсказуемым.

📖 Читай на Telegraph: SOLID: L — Liskov Substitution Principle
1🔥11👍6❤1
«SOLID: I — принцип разделения интерфейса»

Как несоблюдение ISP приводит к избыточным зависимостям, хрупкому коду и трудностям при расширении? В этой статье мы разберём историю и суть ISP, увидим, как он связан с SRP, LSP и DIP, и узнаем, почему важно проектировать интерфейсы так, чтобы они не заставляли клиентов зависеть от того, чего они не используют.

📖 Читай на Telegraph: SOLID: I — Interface Segregation Principle
3👍9❤4🔥4
«SOLID: D — принцип инверсии зависимостей»

Почему модули высокого уровня не должны зависеть от модулей низкого уровня? Как сделать архитектуру гибкой, расширяемой и легко тестируемой? В этой статье я рассказываю о принципе инверсии зависимостей (DIP) — фундаменте надёжного проектирования ПО. Узнайте, как абстракции помогают уменьшить связность, упростить поддержку и интеграцию с разными компонентами, а также избежать «жёстких» зависимостей, мешающих развитию системы.

📖 Читай на Telegraph: SOLID: D — Dependency Inversion Principle
👍6❤3🔥3🥱1
«SOLID: Практический пример рефакторинга»

Понимать принципы SOLID — одно. Уметь распознавать их нарушения в реальном коде — совсем другое. В этой завершающей статье серии я беру небольшой, но показательный проект и пошагово провожу рефакторинг: от нарушения SRP, OCP и LSP до устранения проблем с DIP и ISP. Покажу, как из перегруженного и нестабильного кода получить простую, устойчивую и расширяемую архитектуру.

📖 Читай на Telegraph: SOLID: A Practical Refactoring Example
1👍8❤5🔥4
«Принцип самодокументируемости кода»

В этой статье мы разберём, что значит писать код, который «говорит сам за себя». Я покажу, как правильные имена классов и функций, фокусные методы, последовательная структура и понятная обработка ошибок помогают создать проект, который легко читать и сопровождать. Узнаем, почему избыточные комментарии часто мешают, а хорошо подобранные имена и тесты могут практически полностью заменить документацию. Также обсудим, как применять этот принцип на практике при рефакторинге существующего кода, чтобы он стал более прозрачным и предсказуемым.

📖 Читай на Telegraph: The Self-Documenting code principle
4🔥7👍5❤4
«KISS: Keep it simple, stupid!»

От первых военных памяток и Келли Джонсона до UNIX и Agile — как родился и эволюционировал принцип, который пережил поколения инструментов. Смысл KISS — устранять ненужную сложность. Разберём, где граница между простотой и примитивностью, как делать минимум абстракций без потери смысла, и как применять KISS в архитектуре, коде и процессе. Меньше «магии» — больше ясности, предсказуемости и скорости изменений. В конце — короткий рефакторинг: превращаем перегруженный сервис в прозрачные, тестируемые модули.

📖 Читай на Telegraph: KISS: Keep it simple, stupid!
👍8❤3🔥3
«YAGNI: You Aren’t Gonna Need It»

Почему разработчики продолжают строить архитектуру «на будущее», которое почти никогда не наступает? В этой статье я разбираю принцип YAGNI — одно из ключевых правил гибких методологий. Поговорим о том, как спекулятивное проектирование рождает лишнюю сложность, как отличить реальное требование от предположений, и почему минимальная функциональность часто оказывается самой устойчивой. Покажу признаки нарушения YAGNI в коде, разберу пример перегруженного сервиса и проведу рефакторинг до простого и понятного решения. Меньше предположений — больше ясности и скорости разработки.

📖 Читай на Telegraph: YAGNI: You Aren’t Gonna Need It
👍6🔥5❤3
«DRY: Don’t Repeat Yourself»

Почему дублирование — это не про “копипасту”, а про размножение знаний? От нормализации данных и принципа Once and Only Once до формулировки Ханта и Томаса — разберём, как появился DRY и почему он до сих пор спасает проекты от расхождений и “скрытых багов”. Поговорим о грани между DRY и преждевременными абстракциями, мельком затронем WET и его типичные симптомы, а в конце — небольшой рефакторинг на Java: выносим правила в единый источник истины, упрощаем сервисы и делаем изменения безопасными.

📖 Читай на Telegraph: DRY: Don’t Repeat Yourself
👍10🔥3❤2