221.44
Rating
Skyeng
Крутейшая edtech-команда страны. Удаленная работа
25 September

Рефакторинг в стиле ниндзя и другие приемчики

Skyeng corporate blogWebsite developmentPHPPerfect codeDesigning and refactoring
Можно вечно смотреть на улучшать три вещи: первую, вторую и код, который написан не тобой. Именно ему мы решили посвятить один из ближайших онлайн-митапов:

  • посмотрим на код популярного опенсорс-проекта на гитхабе,
  • покажем разные подходы к его рефакторингу, обсудим полезные инструменты, возможные грабли — ну и немного попишем в прямом эфире.
  • а еще разыграем вот такого слона за лучшую историю о рефакторинге
    Истории будут приниматься в чате трансляции на Youtube. Лучшую историю субъективно выберут ведущие в конце стрима. Мы отправим слоника из Москвы в любую точку мира.

    У слона есть вторая сторона, на которой написано Symfony. Возможно, кому-то будет важно это знать.


    Слоник официальный. Ехал к нам 3 месяца.




Подключайся в ближайший четверг, 1-го октября, в 19 часов по Москве/Киеву/Минску. Тут можно посмотреть расписание стрима и получить напоминалку.

Под катом — знакомство с участниками и несколько «разогревающих» историй от них.

Валентин Назаров — соведущий; лидил CRM-1, один из старейших проектов в Skyeng


Расскажи про свой первый опыт рефакторинга.

Разбирал в 2011-м самописный движок какого-то проекта про туризм. Я тогда был начинающим разработчиком, мало не показалось :) Но и сейчас такое прогрызть было бы очень непросто.

А самая памятная история про это?

См. выше.

Как устроен подход к рефакторигу в твоей команде?

Мы практикуем ниндзя-рефакторинг: трогаем только те места, где очевидны красные флаги (дублирующийся код, перебор в сложности ментальной модели и пр.), и не меняем много кода сразу. Важна стабильность прода, да и на код-ревью люди должны реально прочитать и понять.

Про практики других команд ребята из компании как-то писали целый пост.

Рефакторинг — это…

Работа над ошибками.


Александр Макаров — соведущий; пилит 3-ю версию фреймворка Yii


Расскажи про свой первый опыт рефакторинга.

Ох, не вспомню, но было всякое. И без тестов рефакторил, а потом ломалось. И часть бизнес-логики терял. И без понимания кода рефакторил не так.

А cамая памятная история про рефакторинг?

Я идеально старался написать движок блога. Процесс растянулся года на три… Сейчас бы я не назвал тот код хорошим.

Как устроен подход к рефакторигу в твоей команде?

Черновая версия pull request выкладывается на всеобщее обозрение. Далее все налетают и оставляют комменты. По итогам рефакторим.

Иногда специально рефакторим тоже, но процедура примерно та же.

Рефакторинг — это…

Способ не погрязнуть в техническом долге.


Валентин Удальцов — будет рефакторить; ведет телеграм-канал «Пых»


Расскажи про свой первый опыт рефакторинга.

Трудно вспомнить, я всегда любил это дело.

А самая памятная история про это дело?

Однажды на большом проекте я оптимизировал конфигурацию Symfony Security. В пятницу это задеплоили, а в понедельник выяснилось, что все выходные клиенты не могли зайти через OAuth на один из ключевых разделов сайта…

Как устроен подход к рефакторигу в твоей команде?

У нас модульный код и достаточно низкий coupling, это помогает. Что касается новых фич, мы не стараемся сразу всё сделать верно. Это невозможно и неэффективно. Некоторые проблемы нужно загрузить в голову, чтобы через пару месяцев получить решение. Поэтому часто мы останавливаемся на каком-то простом решении в лоб, но помечаем часть кода подробными todo. Раз в месяц или чаще я прохожусь по todo в проекте и смотрю, что можно из этого переделать прямо сейчас. Правило состоит в том, что сделать нужно хоть что-то.

Рефакторинг — это…

Когда ты делаешь лучше, потому что теперь знаешь, как.


Леонид Корсаков — будет рефакторить; ведет чат PHP-сообщества Татарстана


Расскажи про свой первый опыт рефакторинга.

Никогда не работал на проекте, где был бы идеальный код. Так что с рефакторингом по жизни)

Самая памятная история про это.

Однажды зарефакторили очень много кода, добавили фич, а релиз так и не пошел в продакшен.

Как устроен подход к рефакторигу в твоей команде?

Инициатива полностью отдана разработчикам.

Рефакторинг — это…

Непрерывный процесс улучшения кода.

p.s. Надеемся увидеться на стриме в четверг. Готовьте свои истории.
Only registered users can participate in poll. Log in, please.
Рефакторинг — это…
25.86% Работа над ошибками :) 15
43.1% Способ не погрязнуть в техническом долге 25
60.34% Когда ты делаешь лучше, потому что теперь знаешь, как 35
63.79% Непрерывный процесс улучшения кода 37
58 users voted. 6 users abstained.
Tags:рефакторинг докладрефакторинг phpонлайн-митап
Hubs: Skyeng corporate blog Website development PHP Perfect code Designing and refactoring
+19
3.9k 28
Comments 4
Full stack developer (PHP, JavaScript) — B2B
from 200,000 ₽SkyengRemote job
Team Lead (PHP, Symfony) — Employee Service
from 230,000 ₽SkyengRemote job
Senior Frontend developer (Angular)
from 150,000 to 250,000 ₽SkyengRemote job
IT редактор
to 90,000 ₽SkyengRemote job
Product analyst
SkyengRemote job
Top of the last 24 hours
Information
Founded

18 September 2012

Location

Россия

Employees

1,001–5,000 employees

Registered

30 June 2015

Habr blog