msavin | Backend & PHP
788 subscribers
21 photos
1 video
1 file
42 links
Пишу про пыху и backend разработку. Менторю, смотри закреп
ЛС - msavin_dev
Download Telegram
Channel created
Вчера написал PR в Rector (инструмент автоматического рефакторинга) 💻

Идея PR - добавить named arguments по всей кодовой базе в один клик
PR мой не приняли, так как не совпадает с планом развития самого инструмента (смотрите обсуждение), поэтому вынес в отдельный repo

Что примечательно, ранее я уже открывал 2 Issue (1, 2) в этот проект, и их тоже не приняли 🙄, зато Tomas Votruba поставил мне звездочку на один из проектов

Идея же рождалась долго: сначала Валентин Удальцов на своем хардкорном курсе обратил внимание на то, что всегда пишет имена аргументов для читаемости

После этого я раза 2 к ряду искал баг связанный с тем, что я перепутал порядок аргументов для str_contains (вместо сена писал иголку)

Затем на работе я сделал таску в другой команде, а лид команды на ревью требовал добавлять везде имена аргументов 😢
Мне было лень искать все места, куда надо добавить, но существующего правила я не нашел

Так и родилась идея написать свое правило. На все ушло часов 5. Как говорится, зачем делать за 10 минут, если можно автоматизировать за 10 часов, верно?😄
👍7
Welcome post

Меня зовут Михаил. Я работаю тимлидом на 2-х проектах, пишу бэкенд на PHP

Люблю опенсорс, контрибьютил к примеру в Docker, ClickHouse, JetBrains, Laravel и др. Мой аккаунт на ГитХаб

На ютуб выкладываю записи техсобесов

Топ статьи на хабре:
- CI/CD
- Тестирование

Параллельно менторю ребят по PHP
🤮49👍10🗿21👎1
Patches для Composer вместо Fork'ов 🔧

Все мы знаем, что когда баг в библиотеке вендора мешает прямо сейчас, самый быстрый способ — форкнуть репозиторий и указать ссылку на форк в composer.json как git repository. Это достаточно распространенная практика, но оказывается, что это не всегда лучший вариант.

Пока я работал с Rector, я заметил интересный способ решения подобных проблем через патчи

🔍Есть статья, описывающая существующие плагины для патчинга пакетов

❗️P.S. К сожалению, на моем MacOS этот механизм не захотел работать, несмотря на установленный gpatch. Рекомендую использовать Docker для корректной работы этой функции.
👍21