pero me preguntaba acerca de las ventajas (conceptuales) de separar el resultado del estado (aunque me parece que uno podría argumentar que el error y la cancelación también son simplemente estados diferentes que el estado completo).
Hay una gran ventaja en detallar el progreso e identificar los puntos de falla (dentro de límites razonables) como en su caso. Creo que la confusión proviene de los términos 'estado' y 'estado'. Debemos calificar esos términos. Entonces, por ejemplo, "Estado de la tarea", incluso eso no es muy preciso, por lo que es posible que deseemos usar el "Estado de ejecución de la tarea", sin embargo, esto es incorrecto porque ya tiene un paso de ejecución. Podemos usar el nombre "Estado de procesamiento de tareas" y los valores de: "iniciado - validación - ejecución - completado" tienen mucho sentido. De hecho, podríamos agregar 'Cancelado' a la lista. Sin embargo, 'Error' no responde una pregunta como: ¿Cuál es el estado de procesamiento de tareas muy bien? Parece que 'Error' es un subestado de Completado . ¿Asi que que hacemos? Podríamos renombrar Completado para serCompletado OK y luego podríamos agregar Completado con error a la lista. Entonces, la lista final de los valores de Estado de procesamiento de tareas son:
Iniciado,
Validado,
Ejecutando,
Cancelado,
Completado OK
Completado con error
Editar: ahora la lista anterior todavía requiere algo de trabajo. Los primeros 4 elementos no tienen la palabra 'OK' en ellos. Entonces, si es mejor estar allí para que coincida con el estado "Completado OK". La otra cosa es que los primeros 4 elementos no tienen "con error". ¿Qué significa eso? ¿Qué sucede cuando "Ejecutar" finaliza anormalmente? ¿Eso requiere un nuevo estado de "Ejecutado con error"? En este punto, se pueden requerir más aportes y análisis.
Ninguna posibilidad
fuente