Картинку взял из статьи “Будьте проще (и к вам потянутся люди)“. Статью можно почитать.
Вот один из свежих примеров
На одном из проектов сделали доску объявлений и там есть фича “Пожаловаться на объявление” (вдруг в тексте что-то противозаконное и т.д.). Фича работает через ajax — т.е. нажав на ссылку “Пожаловаться” пользователь видит всплывашку аля “Спасибо! Мы рассмотрим вашу жалобу.”.
И вот тестер репортит баг мол “Могу пожаловаться на свое же объявление”. Ну вроде тестер мыслит логично и со всех сторон прав. Что же делают разработчики? Они добавляют на бекенде проверку для такого состояния дел и в итоге пользователь, который жалуется на свое объявление видит новую всплывашку “Вы не можете пожаловаться на свое объявление”…
ИМХО нужно было всего-то убрать эту ссылку для владельца объявления.
Я провел небольшое исследование и опросил десяток знакомых разрабочиков => вариант спрятать ссылку мне предложили только четверо :). Это не самая репрезентативная выборка, но все же заставляет задуматься.
А у вас есть такие примеры?
Поделитесь в комментариях. Думаю интересно не только мне 😉
Помню помню ты мне рассказывал.
Думаю логика такая… нужно придерживаться установленных правил реализации бизнес логики во всем. Если начать делать поблажки для каких-то мелочей то увеличивается риск сделать поблажку в том месте где это будет недопустимо.
Вообщем это бюрократия в чистом виде, да. Можно провести аналогии с государственными структурами и большими компаниями. Но по другому никак. Вернее даже не. По другому никак если проект большой и/или серьезный. Под серьезный я имею в виду когда _действительно_ безопасный, надежный и тп а не просто слова чтобы продать.
Хорошие программисты даже если им никто это не сказал заранее, чуют интуитивно.
Не думаю что это расходится с KISS, если они там чтобы эту проверку сделать наворотили сложного и непонятного кода – тогда да, а так не 🙂
Альтернативный подход здесь мог бы быть (может не оч логичный но допустимый) – изменение самих бизнес правил, то есть сказать : да, человек может пожаловаться на свое объявление. Мол это ништяк, это by design. А потом выдвинуть запрос на изменение представления (html шаблона), типа ссылку для хозяина не показывать.
Ну строк 20 лишних наворотили. Вроде и немного, но и задача мелкая.
Тут даже больше подходит YAGNI. Т.к. эта проверка на бекенде по сути не нужна. Если её не будет и пользователь все таки сгенерирует урл, чтобы пожаловаться на свое объявление, то навредит этим только себе.
Я бы прятал ссылку, но просто потому что это с точки зрения UX правильнее.
Зачем давать пользователю кнопку, на которую он заведомо не может нажать?
+1