Изящная деградация или graceful degradation на пиндостанском.
Это - офигенная штука. Graceful degradation (дословно — «изящная деградация») — подход к разработке, при котором система продолжает выполнять свои основные функции, даже если отдельные её элементы вышли из строя. Это понятие может использоваться в разных контекстах: в инженерии, веб-разработке и сетевых технологиях.
Зачем это нам - крутым аналитикам? Поясню.
Вот сделали вы крутой отчет с раздачей прав по записям. Это когда база данных из которой отчет берет данные сама понимает имя пользователя и автоматически фильтрует массив данных. Выдает пользователю только то, что ему положено.
Менеджеру Васе - только его продажи. Супервайзеру Пете - продажи его подчиненных. И так далее.
И вот представим себе ситуацию, когда появляется новый сотрудник, а у него ни записи в базе, ни данных в отчете. Открывает он отчет, а тот ломается: выдает ошибки при обновлении, да еще и матюки исторгает.
Сотрудник в шоке - куда бежать и что делать не в курсе.
Отсюда: стресс, подавленная агрессия, алкоголизм, потеря для общества.
Как этого избежать? Вот тут то и помогает подход с изящной деградацией. Нужно извернуться и сделать так чтобы в отчет, даже если данных легитимных нет, выдавалось хоть одна строка. А в этой строке было написано в самом видном текстовом поле, например с наименованием клиента: "Вы не зарегистрированы в базе - позвоните Паше по номеру ххх или сделайте заявку там-то и там-то".
В итоге получаем не поломанный отчет и спасенную психику сотрудника.
Аналогично и с моментами, когда данные для отчета не успели свариться. Прямо в аварийный датасет можно закидывать информацию о текущем статусе пакета данных и ориентировочном времени их готовности.
Всем эксель!