Posts

DDD: Единый язык

Скучали?

А у меня снова Предметно-ориентированное проектирование - в этот раз на примере жирафов, утконосов и legacy-кода рыб.

А также через всю статью проносится очень важная мысль, которую многие, кто начинает знакомиться с DDD, почему-то упускают: DDD не про архитектуру, использование паттернов и наличие чистого кода. DDD про общение между людьми с обеих сторон бизнес-процесса - проектных менеджеров и разработчиков, про то, что не должно быть стены непонимания между этими группами. А чистый код и качественная архитектура - это следствие правильно выстроенного языка, при помощи которого происходит взаимодействие и описание бизнес-процессов.

Глубокое погружение в DDD

Продолжаем тему Предметно-ориентированного программирования.

За последние пару недель я отсмотрел штук 5 докладов по теме и могу сказать что доклад Андрея Моисеева наилучшим образом посвящает вас в тонкости темы. Начиная от проектирования ПО, нарастания сложности и перехода в состояние, когда все написано, но ничего не работает - докладчик переносит вас в мир проектирования ПО на основе выделенных контекстов, слоев взаимодействия и гексагональной архитектуры, не забывая в конце упомянуть и про то, какие ошибки чаще всего совершаются при попытке проектирования, в том числе и по DDD.

Автокомплит для DI-контейнера в PhpStorm

Если в своём проекте вы следуете PSR-11, используя контейнеры для зависимостей, то наверняка сталкиваетесь с проблемой автокомплита кода в вашей IDE. PHP, к великому сожалению, не поддерживает generic’и и нельзя указать какой тип будет у возвращаемого значения.

Обычно это решается при помощи дополнительного phpdoc’а для переменной. PHPStorm позволяет настроить файл с meta-данными для проекта.

Читать статью

Введение в DDD

Решил начать развиваться в области предметно-ориентированного проектирования.

И вот неплохое видео для разгона по теме. Докладчик по ходу раскрывает суть слоев приложения, разделение ответственностей, а также проводит небольшой рефакторинг, вынося логику из контроллера по слоям.

Смотреть видео

Работа с джунами

Очень интересная статья для тим-лидов и руководителей компаний.

Все мы были джунами, но почему-то некоторые, став старше в профессиональном плане, забывают о том, с чего начинали. И это относится не только к IT, но и к любой работе.

Читать статью

Простые решения

Меня попросили оценить время на доработку функционала в довольно старом проекте Полдня я изучал код и выдал срок в 2,5 недели Я просчитал кучу вариантов, переход на новые версии фреймворка, даже рассмотрел вариант полностью переписать приложение Одна девушка из нашей команды просто поправила пару строк в CSS, и все заработало! Суровый web-энтерпрайз. Данная история заставляет задуматься о том, что вместо того чтобы с головой кидаться в просчет вариантов сложных решений - убедись, а все ли простые варианты ты рассмотрел. Возможно, что “Истина где-то рядом” и “Ларчик просто открывается”. Читать статью

Кент Бек: Экстремальное программирование

Прочел Кента Бека - “Экстремальное программирование: разработка через тестирование”. Прочел довольно-таки быстро: за неделю.

Это шедевр!

Серьёзно: если вы никогда не писали тестов - книга заставит вас чувствовать себя крайне неудобно, потому что после прочтения вы уже не будете представлять свой цикл разработки без тестирования.

Если же вы писали тесты постфактум - книга научит вас делать это до, чтобы писать тестируемый код, который потом можно рефакторить без пригорания в пятой точке и с почти нулевым уровнем стресса.

Dependency Injection в Yii2

Пошаговый доклад по внедрению зависимостей на примере фреймворка Yii2.

Автор начинает с сильно связанных компонентов, создающих друг друга внутри собственных методов и постепенно приходит к имплементации Dependency Injection в одном из популярнейших фреймворков для создания WEB-приложений, не забыв конечно же упомянуть такую важную вещь как Dependency Injection Container.

Смотреть видео