Использование программ мягкого удаления - обычная вещь для реализации, и они очень полезны для многих вещей, таких как:
- Сохранение данных пользователя при удалении чего-либо
- Сохранение ваших собственных данных при удалении чего-либо
- Вести учет того, что действительно произошло (своего рода аудит)
- 1010 * прочее *
Есть одна вещь, на которую я хочу обратить внимание, что почти все пропускают, и она всегда возвращается, чтобы укусить вас в заднюю часть. Пользователи вашего приложения не понимают delete так же, как вы.
Существуют различные градусы удалений. Типичный пользователь удаляет вещи, когда он
- Сделал ошибку и хочу удалить плохие данные
- Больше не хочет видеть что-либо на экране
Проблема в том, что если вы не записали намерение удаления, ваше приложение не сможет различить ошибочные данные (которые никогда не должны были создаваться) и исторически правильные данные.
Посмотрите на следующие данные:
PRICES | item | price | deleted |
+------+-------+---------+
| A | 101 | 1 |
| B | 110 | 1 |
| C | 120 | 0 |
+------+-------+---------+
Некоторые пользователи не хотят показывать цену товара B, так как они больше не продают этот товар. Поэтому он удаляет это. Другой пользователь создал ошибку для элемента A по ошибке, поэтому он удалил ее и создал цену для элемента C, как и предполагалось. Теперь вы можете показать мне список цен на все продукты? Нет, потому что либо вы должны отобразить потенциально ошибочные данные (A), либо исключить все, кроме текущих цен (C).
Конечно, с вышеизложенным можно бороться любым количеством способов. Моя точка зрения такова, что ВЫ должны быть очень четкими с тем, что ВЫ подразумевает под удалением, и убедиться, что пользователи не могут неправильно их понять. Один из способов - заставить пользователя сделать выбор (скрыть / удалить).