Изящная деградация или graceful degradation на пиндостанском.

Это - офигенная штука. Graceful degradation (дословно — «изящная деградация») — подход к разработке, при котором система продолжает выполнять свои основные функции, даже если отдельные её элементы вышли из строя. Это понятие может использоваться в разных контекстах: в инженерии, веб-разработке и сетевых технологиях.

Зачем это нам - крутым аналитикам? Поясню.

Вот сделали вы крутой отчет с раздачей прав по записям. Это когда база данных из которой отчет берет данные сама понимает имя пользователя и автоматически фильтрует массив данных. Выдает пользователю только то, что ему положено.

Менеджеру Васе - только его продажи. Супервайзеру Пете - продажи его подчиненных. И так далее.

И вот представим себе ситуацию, когда появляется новый сотрудник, а у него ни записи в базе, ни данных в отчете. Открывает он отчет, а тот ломается: выдает ошибки при обновлении, да еще и матюки исторгает.

Сотрудник в шоке - куда бежать и что делать не в курсе.

Отсюда: стресс, подавленная агрессия, алкоголизм, потеря для общества.

Как этого избежать? Вот тут то и помогает подход с изящной деградацией. Нужно извернуться и сделать так чтобы в отчет, даже если данных легитимных нет, выдавалось хоть одна строка. А в этой строке было написано в самом видном текстовом поле, например с наименованием клиента: "Вы не зарегистрированы в базе - позвоните Паше по номеру ххх или сделайте заявку там-то и там-то".

В итоге получаем не поломанный отчет и спасенную психику сотрудника.

Аналогично и с моментами, когда данные для отчета не успели свариться. Прямо в аварийный датасет можно закидывать информацию о текущем статусе пакета данных и ориентировочном времени их готовности.

Всем эксель!

Изящная деградация
или graceful degradation на пиндостанском.
Это - офигенная штука | Сетка — социальная сеть от hh.ru