Две разные записи: событие и его статус
Первоначальная отметка отвечает на вопрос, что было зафиксировано в момент наблюдения. Статус отмены отвечает на другой вопрос: действует ли гол в счёте. Их не следует заменять одной безымянной строкой или удалять исходную запись без следа.
Практичная структура личной ленты содержит идентификатор записи, команду, период, время из источника, тип события, текущий статус, источник и заметку об исправлении. Такой журнал позволяет отличить отменённый гол от отсутствующей информации.
| Поле | Содержание |
|---|---|
| Событие | Гол |
| Первоначальный статус | Зафиксирован |
| Текущий статус | Отменён |
| Учёт в действующем счёте | Нет |
| Связь с исправлением | Отдельная запись или журнал изменений |
Как меняется счёт
Вымышленный фрагмент: на 28-й минуте в ленте появилась запись «Город — гол». Позднее к той же записи добавлен статус «отменён». До этого в действующем счёте было 0:0.
Расчёт не требует вычитания несуществующего засчитанного гола: число действующих голов «Города» остаётся 0. Исходные числа: засчитанные голы до события — 0; отменённый гол — 0 в действующем подсчёте; операция 0 + 0 = 0. Действующий счёт остаётся 0:0, а первоначальная отметка 28-й минуты остаётся в журнале.
- Создайте или сохраните первоначальную строку события.
- Добавьте отдельный статус «отменён» и укажите источник исправления, если он известен.
- При подсчёте счёта отберите только строки со статусом «засчитан».
- Не заменяйте отменённое событие нулём: ноль означал бы отсутствие гола как наблюдения, а не отмену записи.
Когда нельзя назвать окончательный счёт
Если в ленте есть гол без статуса либо есть противоречивые записи об отмене и засчитывании, окончательный счёт по одной такой ленте не установлен. В этом случае запись нужно сохранить как неопределённую и не подменять неизвестный статус нулём. После появления надёжного статуса счёт пересчитывают по засчитанным событиям.