🔥

Тред (Дима Коваленко)


Я тут потихоньку срусь с людьми в тредах (кстати присоединяйтесь). И у меня возникает ощущение что многие не до конца понимают термин "рефакторинг". Немного об этом 👇

Рефа́кторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.


То есть к примеру, я работая в Cypress частично был задействован в переписывании системы с Rest Api на Graphql. И это чистейшего рода рефакторинг! Потому что на выходе мы должно получить тот же продукт, что и был.

И это было ужасно! Но не так ужасно, как могло быть :) Потому что у нас была хренова гора cypress тестов, которые помогали. Но как всегда дьявол кроется в деталях. Наши тесты мокали бек-енд, и поэтому мне все равно приходилось переписывать тесты по одному.

Но все же сами (вспоминаем тред понедельника) assertion и action части остались точно такими же. Это позволило КРАЙНЕ СИЛЬНО ускорить переписывание системы. Но могло быть еще лучше, если бы все не было так завязано на моках бек-енда. И да, у нас не было ни одного QA :)

Вывод этого треда: Переписали всю системы с нуля, но исходный интерфейс остался тот же = рефакторинг. Поменяли aria-label, изменили модалку на поповер = изменение бизнес логики. Ровно, как и изменение алгоритмов или расчетов внутри системы.