Яков Сироткин (yakov_sirotkin) wrote,
Яков Сироткин
yakov_sirotkin

4000 строк в одном конфиге

Когда я пришёл больше 3 лет назад в наш проект, он был основан на фреймворке на базе Struts и все данные хранил в сессии, поэтому, если открыть две транзакции в одном браузере, то катастрофа была неизбежна. И при каждом нажатии на радиобаттон происходила полная перезагрузка страницы. И так как формы у нас с десятками полей, то перезагрузка происходила долго. А если разработчик тестирует что-то на локальной машине, которая через VPN ходит к базе данных, то факт начала перезагрузки можно было заметить только через несколько секунд. Разумеется, все остальные проекты, которые использовали это фреймворк, давно закрылись.

Приложение у нас не такое уж и большое, но в основном XML-конфиге было 4000 строк. Конечно, никто не дал бы нам время просто переписать весь проект с нуля, но, когда нам нужно было делать существенные изменения на какой-то странице, мы анализировали, как эта страница на самом деле должна выглядеть и переписывали её целиком, набивая шишки и приобретая опыт.

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

В июне мы переехали в новый офис и там не нашлось места для этой доски, но уже оставалось только 117 строк и было ясно, что мы доведем дело до конца. Вчера я удалил из pom.xml зависимости от этого фреймворка и зарезолвил основной тикет. Тут не о чем рассказывать на конференциях, но мы всё равно радуемся.
Tags: code
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 16 comments