ambrion.dev
5 subscribers
3 photos
4 links
> ambrion.dev
> user: ambrion
> mode: architect + mentor

Заметки на полях кода и жизни.
▹ Разборы: паттерны, рефакторинг, интеграции
▹ Инсайты: 20 лет в разработке
▹ Кейсы: от легаси до чистой архитектуры

Без воды. По делу. С курсором. █
Download Telegram
Channel created
ambrion.dev pinned Deleted message
> init channel: @ambrion_dev
> status: online █

Привет! Это мой персональный лог.

Здесь будет:
• Разборы архитектурных решений
• Код-ревью демо-проектов
• Инсайты из реальной разработки
• Ответы на ваши вопросы

Чат открыт — пишите, обсуждаем, спорим.
Без токсичности, по делу.

🔗 Сайт: ambrion.dev
📧 ping@ambrion.dev

#старт #знакомство
ambrion.dev pinned «> init channel: @ambrion_dev > status: online █ Привет! Это мой персональный лог. Здесь будет: • Разборы архитектурных решений • Код-ревью демо-проектов • Инсайты из реальной разработки • Ответы на ваши вопросы Чат открыт — пишите, обсуждаем, спорим. Без…»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 Легаси: как перестать бояться и начать рефакторить

Привет, коллеги! 👋

Только что опубликовал новую статью о практическом демо-рефакторинге легаси-кода в модуле editDocs для EvolutionCMS CE.

Что было:
• ajax.php на 100+ строк с if-elseif 📜
• $_POST напрямую в SQL без валидации 💉
• Бизнес-логика, размазанная по всему коду 🍝
• Тестов нет — любой рефакторинг = русская рулетка 🎲

Что сделал:
Характеризационные тесты как «золотой слиток» легаси
Валидация входных данных через DTO + Value Objects
Разделение ответственности: Validator → Service → Repository
PHPUnit для новых компонентов — тестируемость без боли
Два варианта репозитория под одним интерфейсом для плавной миграции

Результат:
Код, с которым хочется работать: понятная архитектура, защита от инъекций, явные бизнес-правила и тесты, которые дают уверенность при изменениях.

📖 Читать статью полностью:
https://ambrion.dev/article/demo-refactoring-evolution-cms-editdocs-module-mass-move-function

В статье — примеры кода и мысли о том, почему выбран тот или иной подход. Без воды, только практика.

💬 Буду рад вашим вопросам и опыту работы с легаси в комментариях!

#Рефакторинг #PHP #EvolutionCMS #PHPUnit #Архитектура #Легаси #Тестирование #CleanCode #EditDocs #AmbrionDev
1
🚩 Feature Flags для EvolutionCMS: Включаем фичи, а не баги!

Хотите, чтобы ваш сайт сам решал, что показывать, кому и когда? Без деплоя, без паники, без «ой, всё сломалось»?

> *«Этот проект — живой эксперимент и пример того, как можно расширять EvolutionCMS, не превращая её в «монолит из костылей». Задача была простой: показать, как внедрить современный PHP-компонент прямо в админку Evo, сохранив чистоту кода и системную логику.»*

Что внутри:
• A/B-тестирование контента без дубликатов документов
• Постепенный релиз: 10% пользователей → 100%, одним кликом
• Сезонные баннеры, которые включаются сами по дате
• Статистика: кто, когда и по какому правилу увидел фичу
• Админка в стиле EvolutionCMS — маркетологи могут управлять правилами без разработчиков

Технически:
• Чистое ядро на PHP 8.3+ (DDD, Clean Architecture)
• Адаптер для EvolutionCMS CE 3.1.30+
• TDD-friendly: тестируется без загрузки ядра
• Гибкое хранение правил: конфиг, БД или внешний сервис

🚀 Попробовать за 5 минут:
Установка, демо-сниппеты и несколько готовых сценариев — в статье.

👉 Читать и внедрять:
https://community.evocms.ru/blog/addons/feature-flags-dlya-evolutioncms-vklyuchaem-fichi-a-ne-bagi.html

💬 Есть вопросы по интеграции? Пишите в комментариях или в личку — разберём ваш кейс!

#EvolutionCMS #FeatureFlags #ABTesting #PHP #DDD #TDD #AmbrionDev
👍1
🚀 Новая статья: Как начать разрабатывать через тестирование (TDD)

Боитесь, что TDD — это сложно, долго и «не для вас»? Понимаю. Сам через это проходил.

Написал короткую заметку-набросок для тех, кто:
• Ещё не понял, зачем вообще писать тесты *до* кода
• Боится, что это замедлит разработку
• Хочет просто попробовать, без давления и сложных терминов

Внутри:
• Минимум теории, максимум практики
• Простой пример на PHP + PHPUnit
• 16 тестов, которые показывают: «красный» — это не провал, а начало пути
• И немного мотивации, чтобы сделать первый шаг

💡 Главное: это не полноценный гайд. Это приглашение попробовать. Без обязательств.

👉 Читать: https://ambrion.dev/article/kak-nachat-razrabatyvat-cherez-testirovanie-tdd-ili-kak-perestat-iskat-bagi-v-3-chasa-nochi

🗨 Пробовали TDD? Что остановило? Пишите в комментариях — обсудим без осуждения. (;

#PHP #TDD #AmbrionDev
👍1