но мне было интересно узнать о (концептуальных) преимуществах отделения результата от статуса (хотя мне кажется, что можно утверждать, что ошибка и отмена - это просто состояния, отличные от завершенного состояния).
Существует большое преимущество в детализации прогресса и определении точек отказа (в разумных пределах), как в вашем случае. Я думаю, что путаница проистекает из терминов «статус» и «состояние» - мы должны квалифицировать эти термины. Например, «Состояние задачи», даже если оно не очень точное, поэтому мы можем захотеть использовать «Состояние выполнения задачи», однако это неправильно, поскольку у вас уже есть шаг выполнения. Мы можем использовать имя «Статус обработки задачи», и значения: «инициировано - проверено - выполняется - выполнено» имеют смысл. Действительно, мы могли бы добавить «Отменено» в список. Тем не менее, «Ошибка» не отвечает на такой вопрос, как: Каков статус обработки задачи очень хорошо. Похоже, «Ошибка» является под-статусом Завершено . Так что же нам делать? Мы могли бы переименовать Завершено, чтобы бытьЗавершено ОК, а затем мы можем добавить Завершено с ошибкой в список. Итак, окончательный список значений статуса обработки задач :
Начатый,
Подтверждено,
Выполнение,
Отменено,
Завершено ОК,
Завершено с ошибкой
Изменить: теперь приведенный выше список все еще требует некоторой работы. Первые 4 элемента не содержат слова «ОК». Так что, если это будет лучше, чтобы соответствовать состоянию "Завершено ОК". Другое дело, что первые 4 элемента не имеют «с ошибкой» - что это значит? Что происходит, когда «Выполнение» ненормально заканчивается - Требует ли это нового состояния «Выполнено с ошибкой»? На этом этапе может потребоваться дополнительная информация и анализ.