Две темы на форумах, которые обсуждают
Спросите HN: Унаследовал худшую кодовую и техническую команду, которую я когда-либо видел. Как это исправить?
Я должен найти стратегию, чтобы исправить эту команду разработчиков, не управляя ими напрямую. Вот обзор:
-
этот код приносит более 20 миллионов долларов дохода в год
-
он работает на PHP
-
он разрабатывался в течение 12 лет непосредственно на производстве без контроля версий
-
он не использует композитор или какое-либо управление зависимостями. Это все require_once.
-
он не использует никакой фреймворк
-
маршрутизация управляется исключительно как перезапись в NGInX (конфиг NGInX составляет около 10 000 строк)
-
ни один код никогда не удалялся. Вещи просто добавлены. Я понимаю, что причина этого в том, что он был разработан непосредственно на производстве, а удаление вещей слишком рискованно.
-
структура базы такая же каша, никаких миграций и т.д. При добавлении столбца из-за объема данных добавляют новую таблицу с джойном.
-
JS и CSS одинаковы. Несколько версий jQuery сражаются друг с другом в зависимости от того, на какой странице вы находитесь или даже на одной странице.
-
конечно, нет шаблона MVC или любого другого шаблона. Нет библиотеки шаблонов. Это стиль PHP 2003.
-
Во многих местах я вижу контроллеры, такие как файлы, выполняющие запросы curl к своему собственному API-интерфейсу (через доменное имя, а не localhost), выполняющие авторизацию oauth и т. д. Просто для получения пунктов меню или списка продуктов…
-
нет кеширования (но есть memcached, но используется только для сессий…)
-
команда 3 человека, совсем младшая. Один бэкенд, один фронт, один iOS/android. Сопротивление изменениям огромно.
-
производительность ужасна, что понятно. Беспорядок слишком велик, чтобы можно было что-то построить.
У этого бизнес-подразделения довольно агрессивная дорожная карта, поскольку руководство и штаб-квартира не имеют реального представления об этих блокировщиках. А после COVID бюджет действительно ограничен.
Я знаю, что необходимо полностью переписать, но как это сбалансировать?
https://news.ycombinator.com/item?id=32883596
Какой смысл иметь систему голосов за и против, когда большинство пользователей социальных сетей идиоты?
С различными ответами вида:
Ты, наверное, тоже идиот, постарайся не волноваться об этом.
Прелестно, прелестно. Две эти темы шедевр! :)