Всем привет! Меня зовут Игорь Савин, я frontend-разработчик в компании Домклик. На текущий момент у нас около 100 различных команд разработки, из которых большая часть создает какой-либо фронтенд на HTML, CSS и Javascript. Но когда так много команд, непременно возникают ситуации, при которых в проект одной команды нужно встроить какую-то функциональность, разрабатываемую другой. И не просто встроить, но и потом поддерживать её работу, исправлять ошибки и внедрять новые фичи.
Рубрика «Проектирование и рефакторинг» - 3
Как мы в Домклике делаем виджеты на React
2022-03-17 в 8:04, admin, рубрики: javascript, javscript, npm, React, ReactJS, Блог компании ДомКлик, виджеты, Проектирование и рефакторинг, Разработка веб-сайтовПлан самостоятельного обучения DDD, CQRS, EventSourcing
2022-02-25 в 7:51, admin, рубрики: clean, clean architecture, cqrs, DDD, ddd дизайн., event sourcing, event store, event storming, event-driven, eventsourcing, Анализ и проектирование систем, Проектирование и рефакторингЕсли вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.
Я рекомендую сначала ознакомиться с Базовыми видео, от основателя этого термина Эрика Эванса, чтобы понять его философию и причины возникновения.
Основы DDD от основателя. Видео.
Atlas: Путешествие Dropbox от монолита на Python до managed-платформы
2022-02-17 в 6:57, admin, рубрики: DropBox, grpc, service-oriented architecture, Анализ и проектирование систем, Блог компании Флант, микросервисы, монолит, Проектирование и рефакторингПрим. перев.: в этом материале, опубликованном прошлой весной в блоге Dropbox, инженеры компании рассказывают о том, какие проблемы были у их монолита, жившего аж с 2007 года, что они предприняли для их решения и какой результат это принесло.
Зарубежный опыт: как избавиться от 80% кода, увеличить скорость разработки и уменьшить количество ошибок
2022-02-09 в 10:13, admin, рубрики: KISS, YAGNI, абстракции, архитектура приложений, Блог компании МойОфис, микросервисы, оптимизация, Программирование, Проектирование и рефакторинг, разработка по, рефакторинг, упрощение кода, шаблоны проектированияМы продолжаем знакомить читателей нашего блога с интересными международными публикациями. Ранее мы перевели материал с Читать полностью »
Рефакторинг Shiny приложений
2022-02-05 в 13:12, admin, рубрики: data mining, data science, R, аналитика данных, Проектирование и рефакторинг, рефакторинг
Кадр из фильма «Формула любви», 1984
В жизненном цикле любого эксплуатируемого ПО наступает фаза, когда накопившийся набор изменений (CR) ложится неподъемным грузом на первичную архитектуру и вот тут наступает пора рефакторинга. Много книг понаписано на эту тему, есть специфика для различных языков. Ниже затронем только отдельные аспекты, которые могут оказаться полезным применительно к RStudio Shiny приложениям. Это ряд практических методов, трюков и нюансов, накопившихся при рефакторинге, как правило, чужого Shiny кода.
«Aliena nobis, nostra aliis» — Ежели один человек построил, другой завсегда разобрать сможет.
Это было в фильме, в первоисточнике несколько по-другому. Фраза Публилия Сира «Aliena nobis, nostra plus aliis placent» переводится как «Чужое нам, наше же в основном другим нравится». Но кузнец Степан все равно дело говорит.
Является продолжением серии предыдущих публикаций. Читать полностью »
Я рефакторю компании
2022-01-20 в 11:01, admin, рубрики: Анализ и проектирование систем, бизнес-процессы, Блог компании Группа Т1, команда, Проектирование и рефакторинг, работа, сотрудники, управление, управление проектами, эффективностьЭтот архитектор переделывал систему шесть раз, и сейчас к нему пришёл джун сообщить, что пора заходить на седьмую итерацию.
Я работаю человеком, который знает, как лучше поменять что-то в компании, чтобы не сломать что-то другое. Грубо говоря, правильно это называется «бизнес-архитектор», а джун моей специальности называется «бизнес-аналитик».
Мы превращаем людей в скрипты, а потом заменяем их, если получается.
В среднем бизнесе работа бизнес-аналитика или бизнес-архитектора очень похожа на то, что делает ИТ-архитектор. Обычно есть какой-то работающий бизнес, в котором море организационных костылей. Нужно прийти, пересобрать процессы и сделать так, чтобы всё работало лучше.
Как правило, пересбор — это такое разбиение процесса на шаги, которые делает либо микросервис (человек или команда) с известным API, либо, если вам ближе функциональный подход, — функция с понятным входом, выходом, проверками и кодом внутри. По сути, такой человек выстраивает API отделов и команд, потом связывает их между собой по-новому. Иногда бывает нужно перестроить компанию серьёзнее либо создать вообще новое направление.
Почти как программирование, только к ИТ-системам добавляются ещё и живые люди, их потребности и эмоции. В итоге всё настолько декомпозировано на понятные шаги и проверки, что снижаются требования к контексту и компетенциям.
Итак, давайте покажу процесс верхнеуровнево: как разобрать и собрать процессы заново, выстраивая это всё в систему.
Где и как применять low-code платформы
2022-01-15 в 6:45, admin, рубрики: it-архитектура, low-code, Анализ и проектирование систем, визуальное программирование, инженерные системы, микросервисы, Проектирование и рефакторингРазговоры о программировании без программистов идут постоянно. За последние 14 лет моей работы в IT идёт уже вторая волна любви к low-code решениям. Если вы дольше наблюдаете IT-рынок, то наверняка вспомните ещё пару подъёмов этой темы.
Не-программистов, которые создают бизнес-приложения в визуальных редакторах, назвали Citizen Integrator или Citizen Developer. Слоганы продавцов этой темы сводятся к следующему:
...with no-code/low-code platforms, anyone can build applications without software expertise, significantly faster, and at a fraction of the cost.
Преодоление сложности в самом сердце DDD
2021-11-07 в 7:00, admin, рубрики: DDD, Анализ и проектирование систем, Программирование, Проектирование и рефакторинг, Совершенный код, управление разработкойЭта статья является переводом материала «Tackling Complexity in the Heart of DDD».
Давайте проведем небольшой эксперимент: попробуем объяснить суть предметно-ориентированного проектирования (DDD) тому, кто понятия об этом не имеет. Это, особенно если делать кратко, непросто. Ограниченные контексты, сущности, события домена, объекты значений, домены, агрегаты, репозитории… с чего начать?
Как один стартап от docker-compose до Kubernetes добирался
2021-10-31 в 20:13, admin, рубрики: cronjob, devops, docker-compose, Google Cloud Platform, kubernetes, kustomize, refactoring, Skaffold, symfony, Проектирование и рефакторингВ этой статье я хотел бы рассказать о том, как мы меняли подход к оркестрации на нашем стартап-проекте, зачем мы это делали и какие проблемы по дороге решали. Претендовать на уникальность эта статья вряд ли может, но все же думаю, что она может быть кому-то полезна, так как в процессе решения задачи материал собирался нами с приличным скрипом.