четверг, 8 ноября 2018 г.

У вас некорректное выражение, найдите его (ребенок)

В Wildberries есть галерея стиля. Все комментарии к образам отслеживаются модераторами, но это второй рубеж. Первый — автоматический отсев ссылок и черт знает чего еще.

Почему черт знает? Потому что текст сообщения непонятный:

Поле содержит ссылку или некорректное выражение

Вроде все ясно, да? Ну нефиг ссылки лепить, всего и делов... Но под огонь попадают нормальные слова или фразы. Вот пара примеров:

Примеры


Ребенок

Не верите? Вот пруфскрин!




Ну тут еще ладно, легко локализовать, в каком слове проблема. Видимо, товарищи слышали про регэкспы, но как-то фигово слышали, вот и видят в этом слове мат, кхммм...



На улице ведь куртка еще, а так ногам не холодно



А вот тут я затрудняюсь сказать, на какое именно слово система ругается... Локализовала до этой фразы, дальше не стала. Я ведь не тестировщик ВБ, а тестировать на PROD нехорошо, ведь если пойти методом бисекционного деления, то на ручной разбор модератором пойдут очень странные фразы =)))


И что делать?


Врядли разработчики полностью уберут такой функционал из-за ложноположительных срабатываний. Разве что точечно будут фиксить найденные слова.

Но вот чтобы найти такое слово, неплохо бы его подсвечивать, немного изменив текст ошибки. Точнее, разбив его на два: ссылка + некорректное выражение. Давайте оформим улучшение по шаблону:

****************************************************************

Подсвечивать некорректное слово в комментариях ГС


Когда пользователь пишет вполне безобидный комментарий типа «Чудесный ребенок!», он получает ошибку «Поле содержит ссылку или некорректное выражение». Что он может из нее понять? Что за некорректное выражение? Что нужно изменить, чтобы комментарий опубликовался?

Хорошо, если комментарий всего из двух слов, а если человек написал абзац текста? Он просто непонимает, что система считает некорректным выражением. И так как она иногда делает ложноположительные срабатывания (например, на слово «ребенок»), нужно подсвечивать «плохое» слово или фразу, чтобы показать пользователю, что ему нужно исправить.

Так что предлагаю делать так:

  • Если в тексте есть ссылка — выводить ошибку «Поле содержит ссылку». Это понятное сообщение.
  • Если в тексте есть слово или фраза, попавшее под наши регэкспы — подсвечивать это слово и выводить ошибку «Поле содержит некорректное выражение». Или вместо подсветки выводить сообщение в ошибке: «Поле содержит некорректное выражение: ребенок».
Конечно, пользователь все равно не поймет, что плохого в слове «ребенок», но хотя бы будет знать, какое из 30 слов ему заменить, чтобы его комментарий опубликовали


****************************************************************

Обратите внимание на обоснование. Если сказать, что так нам проще будет локализовывать ложные срабатывания, то разработчики скажут "ничего страшного, локализуете и так". И правда, у тестировщика проблемы нет. На тестовом стенде нет ручной проверки модератором и можно смело проводить любые тесты.

А вот у пользователя проблема есть. Что ему делать, чтобы комментарий был опубликован? Как найти это самое "некорректное выражение" в своей вполне невинной фразе? Ну не хотите убирать этот дурацкий механизм, так хоть подскажите, что именно попало вам в немилость!


См также:

Шаблон улучшения → использовался в статье

Шаблон бага → тоже полезен
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.


PS — добавила пост в общую копилку багов.

Комментариев нет:

Отправить комментарий