Заголовок

кросспостЫ

Previous Entry Share Next Entry
О рефакторинге
dn010989kaa

Originally published at Андрей Костенко. Please leave any comments there.

Когда я пришел в Рамблер, я долго выносил всем мозг по поводу того, что весь общий для проектов код лежал одной большой кучей в репозитории, и каждый из проектов подключал его.

Часть кода было мертвым, часть использовалось непонятно где и все зависело от всего.

Через некоторое время мы распилили его на модули. Каждый для своей задачи. Для модулей сделали порты. Зависимости от наших и чужих модулей стали очевидными, ненужный код ушел, а обновлять их стало проще. Уйти от портов у нас тогда не получилось.

Приходилось следить за портами. Как нашими, так и чужими. В портах FreeBSD версии отстают, многих портов нет, а многие сделаны через жопу.

В попытках решить эту проблему было написано кучу костыльных утилит: App::Pm2Port, генерация аргументов к portinstall для установки зависимостей к проекту, но работать хорошо эти штуки не могли по определению.

И вчера произошло знаменательное событие. В Рамблере подняли локальный CPAN.

Проекты будут разворачиваться после команды “cpanm installdeps .”, а новые модули будут создаваться за 10 минут.

^_^


Comments Disabled:

Comments have been disabled for this post.

?

Log in

No account? Create an account