TGTGInsightаналитика telegramLIVE / telegram public index
← Системный сдвиг
Системный сдвиг avatar

TGINSIGHT POST

Post #91

@systemswing

Системный сдвиг

Просмотры1,810Количество просмотров
Опубликован16 мар.16.03.2023, 10:14
Содержимое поста

Содержимое

Юскейса "редактирование" не бывает. Мы все любим CRUD, но его простота очень обманчива. CRUD полезен, если вы программист. CRUD полезен, если мы хотим проверить полноту требований. Есть ли юскейс, в котором мы создаем объект? А юскейс, в котором мы удаляем объект? Читаем? Редактируем? Обратите внимание — "есть ли?", а не "именно так называется". Я видел много статей и выступлений с логикой "Use cases строятся вокруг CRUD". Это большая ошибка. Юскейсы строятся вокруг целей пользователя. Отредактировать объект — это не цель. Это операция. Уровень кодера, который не думает о целях пользователя. Naked objects. Если мы вырвемся из этой технической перспективы, то можем задать вопрос: что же это за ситуация, когда нам понадобилось изменить объект? Очевидное: мы ошиблись при вводе. Это бывает, но понятно, как этого избежать: ввести проверки, маски ввода, подчеркивание слов и т.п. Операция редактирования возникает из-за нашей лени. Другой вариант: редактирование действительно является целью пользователя. Обычно у таких систем в названии есть слово "редактор": редактор кода, текстовый редактор и т.д. Редактирование — основное действие в такой системе. Либо ваш объект в основном состоит из текста, например — пост в соц.сети. Впрочем, и тут есть варианты. А вот, например, что за юскейс — редактирование карточки товара? Что у товара может измениться? Описание? Почему изменилось — мы исправляем ошибку, или мы добавляем что-то? Пытаемся его сделать более точным или привлекательным? Можем предложить пользователю функции именно для этого? Обложка и фото? Опять же — можем ли предложить инструменты работы с фото и оценки этих фото, чтобы не пришлось менять? Цена? Упс, а почему изменилась цена? Мы сделали скидку к празднику? Интересно. А мы точно хотим это сделать с одним товаром, или со многими товарами сразу? Тогда нам нужна функция массового изменения цены, причем не в абсолютных значениях, а на процент (цены-то разные). И юскейсы будут: исправить ошибку, улучшить текст, установить скидку. Чувствуете, как сразу заработала мысль? Совсем другие функции представляются, а не редактирование. Юскейс — это не операции и не функции. Это цели пользователей, а цели всегда выше системы. Проверка хорошего названия юскейса: системы нет, а смысл юскейса есть.