А зачем?

Любой программист всегда считает весь код говном. Кроме того, который он пишет прямо сейчас.

Идею переписать фронтэнд с нуля я вынашивал примерно год. Нет, это не то огульное желание “все переписать”, которое довольно часто посещает любого программиста. Я долго пытался найти варианты постепенного обновления кодовой базы, переписывания по частям и тд…

Чтобы вы понимали — код фронта писался в течение 5 лет десятком разных разработчиков. Начиналось все с jQuery, плагинов, постепенно обрастало какими-то нововведениями, модными трендами. В довершение ко всему, на голову свалился AngularJS, ES6 и вебсокеты…

Первая попытка привести код в порядок была предпринята при редизайне летом прошлого года. Это обновление сайта было названо у нас кодовым словом “резина” — основная цель апдейта была в том, чтобы обеспечить адекватное отображение сайта на разных разрешениях. Под шумок этого обновления я принялся перелапачивать код фронтэнда. Получилось так себе.

Да, с одной стороны, мне удалось избавиться от огромного количества легаси кода. Но с другой — фронтэнд так и остался набором несвязанных js-файлов, написаных в разном стиле. А в некоторых местах проблема даже усугубилась. А все потому, что изначально не было какого-то серьезного проектирования и по мере структуризации кода менялось мое понимание того, куда нужно двигаться. Сначала я хотел было приложить несколько скриншотов, чтобы показать всю глубину проблемы, но решил пожалеть вашу психику.

Стоит так же отметить, что проблема сложности кода — не единственная проблема текущего фронтэнда. К производительности тоже есть серьезные вопросы. Причем местами просадки производительности заметны даже на топовом железе. Стоит ли говорить о всей той боли, что испытывают обладатели более слабых компов?

Добавим в наш список претензий отсутствие адекватной возможности реализовать интернационализацию. Переключалку языка не запилить, если быть проще. Тексты, которые нужно переводить, размазаны буквально повсюду — в php, в html, в javascript. А, еще в svg местами есть. Ага.

Вишенкой на нашем торте будет отсутствие какого-либо автоматизированного тестирования. От слова вообще. Комментарии излишни, ящетаю…

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.