Критическая часть информации, которая была упущена из Части I, заключалась в том, что произойдет, если не будет журнала изменений. Давайте посмотрим на таблицу, если это так.

Если по какой-то причине кто-то захотел выяснить, что случилось с аккаунтом Алисы. Все, что они могли видеть, это то, что Мэри была последней, кто изменил данные. Нет ничего, что указывало бы на то, что произошло раньше. Для предприятия с несколькими пользователями это было бы не идеально.

Больше дат

Теперь вы работаете специалистом по маркетингу в энергетическом стартапе
Yet Another Energy Company, сокращенно YAEC. ЯЭК продает только два продукта: газ и электроэнергию. Разработчики приложения, через которое вы продаете, были достаточно любезны, чтобы предоставить таблицу сопоставления, чтобы вы могли называть продукты как угодно. Таблица сопоставления выглядит примерно так.

Вы понимаете, что схема таблицы сопоставления, вероятно, может быть улучшена, чтобы она могла работать с вариантами использования предприятия.

Дата сделки

Самый простой способ думать об этом типе даты — думать об этом как о дате, когда запись была введена в приложение.
В некоторых приложениях это может интерпретироваться как дата создания¹ или дата изменения¹.

Теперь, по крайней мере, мы видим, когда и кто изменяет записи.

На веб-сайте YAEC теперь с гордостью представлены «новые» продукты. Огромный успех!

Месяц, когда вы понимаете, что продажи действительно упали. Как оказалось, клиенты на самом деле не понимают, что такое «Умное электричество» или «Умный газ», и поэтому вы решаете провести запуск нового продукта 06.01.2019 в соответствии с кампанией на телевидении, радио и в социальных сетях. К сожалению, вы уже забронировали отпуск и планировали вылететь до даты запуска.
Однако вы достаточно умны, чтобы попросить разработчиков еще больше улучшить таблицу сопоставления, чтобы вы могли наслаждаться отдыхом.

Дата вступления в силу

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

Схема таблицы сопоставления теперь выглядит довольно хорошо. Команда тестировщиков не должна долго тестировать изменения…

Базовая дата

Также называется отчетной датой¹. Одной из наиболее распространенных проблем, с которыми мне приходилось сталкиваться, является отсутствие контрольной даты при извлечении данных из приложения или базы данных с временным измерением.
В этом сценарии группа тестирования не смогла проверить, что отображаемое название продукта было базовым. Электричество или основной газ. Почему? Функция для получения названия продукта использовала текущую дату. Проблема с использованием текущей даты заключается в том, что она фактически жестко кодирует функцию, и результирующее поведение изменяется в зависимости от фактической текущей даты.
После того, как разработчик понял это, к входному параметру функции и Команда тестировщиков смогла смоделировать сценарий прошлой даты, текущей даты и будущей даты.
Вы чувствуете себя намного спокойнее, зная, что веб-сайт будет автоматически использовать новую конфигурацию, когда вы потягиваете мохито и наблюдаете закат во время пляжного отдыха.

Резюме

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

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