
Как превратить проект в легаси и вытащить оттуда его ?)
Был у меня в самом начале опыт, когда на проекте было пару начинающих разработчиков включая меня. Конечно ни о каких стандартах речь и не шла, поэтому спустя время получилось так что писать новый код стало трудно - ломалась старая функциональность и сам код становился неразборчивым.
Я как раз начал изучать тему как все это привести в нужный вид, то есть сам того непонимая окунулся в тему архитектуры. Там уже понял что в начале нужно обезопасить себя в структуре и раздлении от хаотичных зависимостей. В папке components не должно быть такого чтобы компоненты зависят от других компонентов. Самое простое что можно сделать это папке компонентов, в котором будут лежать атомарные компоненты и папку виджетов, в котором будут уже более сложные компоненты состоящие из других, но в виджете не должно быть других виджетов. Уже сама страница должно состоять из виджетов. Такая ахритектура называется atomic design. Это самое просто что может быть для frontend проекта. Есть множество других подходов, но под рефакторинг именно она более просто решает проблему.
Но этим же не ограничивается вопрос, нужно выделять функциональность, по-хорошему нужно выделять атомарные функциии - фильтры/валидаторы/обработчики ошибок в папку utils. Взаимодействие с сервером выделить в папку services/api там должна быть вся логика по запросам.
В компонентах не должно быть обработчиков бизнес логики
Касаемо сторов и производительности это уже стоит выделить в отдельный пост, потому что там много чего делали.
Со всеми этими знаниями я пошел к заказчику и начал объяснять что очень все плохо, долго говорили, но в итоге я стал курировать этот проект. Первое что я поручил это разделить все компоненты на простое выполняющие одну функцию и более сложные состоящие из нескольких компоентов. Вели мы гугл док в котором начали писать даже wiki проекта и по итогу постепенно разделяя и рефакторя сама структура стала более менее понятной.
Используй TypeScipt везде
Поддержи меня реакцией
Был у меня в самом начале опыт, когда на проекте было пару начинающих разработчиков включая меня. Конечно ни о каких стандартах речь и не шла, поэтому спустя время получилось так что писать новый код стало трудно - ломалась старая функциональность и сам код становился неразборчивым.
Я как раз начал изучать тему как все это привести в нужный вид, то есть сам того непонимая окунулся в тему архитектуры. Там уже понял что в начале нужно обезопасить себя в структуре и раздлении от хаотичных зависимостей. В папке components не должно быть такого чтобы компоненты зависят от других компонентов. Самое простое что можно сделать это папке компонентов, в котором будут лежать атомарные компоненты и папку виджетов, в котором будут уже более сложные компоненты состоящие из других, но в виджете не должно быть других виджетов. Уже сама страница должно состоять из виджетов. Такая ахритектура называется atomic design. Это самое просто что может быть для frontend проекта. Есть множество других подходов, но под рефакторинг именно она более просто решает проблему.
Но этим же не ограничивается вопрос, нужно выделять функциональность, по-хорошему нужно выделять атомарные функциии - фильтры/валидаторы/обработчики ошибок в папку utils. Взаимодействие с сервером выделить в папку services/api там должна быть вся логика по запросам.
В компонентах не должно быть обработчиков бизнес логики
Касаемо сторов и производительности это уже стоит выделить в отдельный пост, потому что там много чего делали.
Со всеми этими знаниями я пошел к заказчику и начал объяснять что очень все плохо, долго говорили, но в итоге я стал курировать этот проект. Первое что я поручил это разделить все компоненты на простое выполняющие одну функцию и более сложные состоящие из нескольких компоентов. Вели мы гугл док в котором начали писать даже wiki проекта и по итогу постепенно разделяя и рефакторя сама структура стала более менее понятной.
Используй TypeScipt везде
Поддержи меня реакцией